XML Data Handler Plug-in
From LinuxMCE
About
The XML Data Handler Plugin is used by the Tivo and the Moxi Orbiter. We are currently investigating further possible uses.
Preparations
You need to install the "Basic XML Data Source Plug-in". It will also install a related device, the "XML Data Handler Plug-in". We assume device id 262 for the latter in this document.
Using MessageSend to fetch data
We use MessageSend to talk to the XML Data Handler Plugin. The DCE command is 869, as can be seen in the Command Table:
| 869 | Request XML Data |
We request all CommandGroups:
/usr/pluto/bin/MessageSend localhost -o 0 262 1 869 15 "CommandGroups" 109 "" 202 ""
Example output
0:OK 109:<?xml version="1.0" encoding="UTF-8"?> <PlutoXmlData> <CommandGroupList><CommandGroup PK_CommandGroup="7" PK_Array="4">Active Calls<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="8" PK_Array="4">Speed Dial<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="9" PK_Array="4">Dial Direct<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="10" PK_Array="4">Phone Book<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="11" PK_Array="4">Intercom<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="12" PK_Array="4">hari<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="13" PK_Array="3">Security<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="24" PK_Array="4">Active Calls<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="25" PK_Array="4">Speed Dial<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="26" PK_Array="4">Dial Direct<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="27" PK_Array="4">Phone Book<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="28" PK_Array="4">Intercom<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="29" PK_Array="4">hari<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="30" PK_Array="3">Security<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="31" PK_Array="1">Sleep<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="32" PK_Array="1">Wakeup<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="33" PK_Array="1">House to sleep mode<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="34" PK_Array="4">Active Calls<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="35" PK_Array="4">Speed Dial<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="36" PK_Array="4">Dial Direct<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="37" PK_Array="4">Phone Book<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="38" PK_Array="4">Intercom<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="39" PK_Array="4">hari<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="40" PK_Array="3">Security<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="58" PK_Array="3">DCS-5300G<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="59" PK_Array="3">DCS-5300G<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="60" PK_Array="3">DCS-5300G<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="77" PK_Array="3">DCS-5300G<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="78" PK_Array="3">DCS-5300G<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="79" PK_Array="3">DCS-5300G<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="109" PK_Array="1">TV<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="110" PK_Array="1">Soft<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="117" PK_Array="3">4<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="119" PK_Array="1">On<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="120" PK_Array="1">Off<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="121" PK_Array="1">On<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="122" PK_Array="1">Off<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="123" PK_Array="1">On<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="124" PK_Array="1">Off<Room PK_Room="3"></Room></CommandGroup><CommandGroup PK_CommandGroup="125" PK_Array="2">Day<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="126" PK_Array="2">Night<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="127" PK_Array="1">All On<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="128" PK_Array="1">All Off<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="129" PK_Array="1">Bed<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="132" PK_Array="1">Showtime<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="137" PK_Array="1">All On<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="138" PK_Array="1">All Off<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="139" PK_Array="1">Red<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="140" PK_Array="1">Green<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="141" PK_Array="1">Blue<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="142" PK_Array="1">RGB Off<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="143" PK_Array="1">RGB Red<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="144" PK_Array="1">RGB Green<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="145" PK_Array="1">RGB Blue<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="146" PK_Array="1">Soft Blue<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="147" PK_Array="3">Axis IP Camera<Room PK_Room="1"></Room></CommandGroup><CommandGroup PK_CommandGroup="148" PK_Array="3">Axis IP Camera<Room PK_Room="2"></Room></CommandGroup><CommandGroup PK_CommandGroup="149" PK_Array="3">Axis IP Camera<Room PK_Room="3"></Room></CommandGroup></CommandGroupList> <RoomList><Room PK_Room="1">Flur</Room><Room PK_Room="2">Wohnzimmer</Room><Room PK_Room="3">Schlafzimmer</Room></RoomList> <ArrayList><Array PK_Array="1">Lighting Scenarios</Array><Array PK_Array="2">Climate Scenarios</Array><Array PK_Array="3">Security Scenarios</Array><Array PK_Array="4">Communication Scenarios</Array></ArrayList> </PlutoXmlData>