Examples on query and mutation

Fetch information of devices

query{
    devices{
        name                # e.g. get the names of all devices
    }
}

query{
    devices(pattern: "*tg_test*"){            #filter result with pattern
        name
    }
}

Accessing attributes

query{
    devices(pattern: "sys/tg_test/1"){
        name,
        attributes {
            name,
            datatype,
            }
        }
    }

query{
    devices(pattern: "sys/tg_test/1"){
        name,
        attributes(pattern: "*scalar*") {
                name,
                datatype,
                dataformat,
                label,
                unit,
                description,
                value,
                quality,
                timestamp
            }
            server{
            id,
            host
        }
    }
}

Deleting device property

mutation{
    deleteDeviceProperty(device:"sys/tg_test/1", name: "Hej"){
        ok,
        message
    }
}

Putting device property

mutation{
    putDeviceProperty(device:"sys/tg_test/1", name: "Hej", value: "test"){
        ok,
        message
    }
}

Deleting device property

mutation{
    deleteDeviceProperty(device:"sys/tg_test/1",name:"Hej"){
        ok,
        message
    }
}

Setting value for an attribute

mutation{
    SetAttributeValue(device:"sys/tg_test/1", name: "double_scalar",value: 2){
        ok,
        message
    }
}

Query all tango classes

query{
    classes(pattern:"*"){
        name
    }
}

Query all tango classes and corresponding devices

query{
    classes(pattern:"*"){
        name
        devices {
        name
        }
    }
}