FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Cruiser79 am 25 Mai 2016, 11:45:22

Titel: readingsProxy Readings per telnet auswerten
Beitrag von: Cruiser79 am 25 Mai 2016, 11:45:22
Ich habe eine Auswertung meiner FHEM Geräte per telnet am Laufen, die in einer eigenen Weboberfläche endet.
Nun habe ich mehrere readingsProxy in folgender Form definiert.
{
  "Arg":"Drucker_PR",
  "Results": [
  {
    "Name":"Drucker_PR",
    "PossibleSets":"",
    "PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings:textField-long disable:1 getList setList getFn:textField-long setFn:textField-long valueFn:textField-long event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "DEF": "FritzBox:mac_xxx,
      "DEVICE": "FritzBox",
      "NAME": "Drucker_PR",
      "NR": "227",
      "NTFY_ORDER": "50-Drucker_PR",
      "READING": "mac_xxx",
      "STATE": "present",
      "TYPE": "readingsProxy"
    },
    "Readings": {      "state": { "Value":"Printer", "Time":"2016-05-25 11:11:23" }    },
    "Attributes": {
      "devStateIcon": "absent:WLAN_Status.0 present:WLAN_Status.1",
      "disable": "0",
      "room": "Anwesenheit",
      "stateFormat": "{(ReadingsVal($name,\"state\",\"\") eq \"Printer\")?\"present\":\"absent\"}"
    }
  }  ],
  "totalResultsReturned":1
}

Diese schalten auch korrekt um, wenn das Device sich an der Fritzbox an- und abmeldet.
Leider bekomme ich auf der telnet Konsole ein Anmelden nur folgendermaßen angezeigt
readingsProxy Drucker_PR Printer
und ein Abmelden so.
readingsProxy Drucker_PR inactive

Insofern schon richtig so. Nur heißt das auch, das jedes Device seinen eigenen Anmeldetext (in diesem Fall "Printer") hat, ich aber eigentlich lieber so was wie "present" und "absent" als übertragendes Reading haben möchte. Das interne Reading STATE enthält zwar das, was ich möchte, dieses wird aber nicht mit auf der Konsole ausgegeben.
Ist es möglich dem readingsProxy noch eigene Readings hinzuzufügen? Oder hat jemand eine Idee, wie ich dieses Problem lösen könnte?
Ich habe die Ahnung, das das ganze irgendwie mit setFn/valueFn/getFn gehen könnte, aber z.B. ein
setFn {($CMD eq "inactive")?"absent":"present"}
brachte keine Auswirkung.