2016-05-24 4 views
1

java-agentでc8y_Command(Shell)OperationTypeを実装しようとしています。 私はデバイス上でコマンドを実行できるようになったので、OperationStatusも設定できますが、結果(コマンド出力)文字列を返す方法が見つかりませんでした。設定c8y_Command結果Javaからの文字列

http://www.cumulocity.com/guides/reference/device-management/ 言う:これは、エージェントを設定する方法であれば

"c8y_Command": { 
    "text": "get uboot.sn", 
    "result": "165711141901401" 
} 

を特定のコマンドの結果を通信するには、デバイスが プロパティ "結果" を追加ステータス:

operation.setStatus(OperationStatus.SUCCESSFUL.toString()); 

次に、コマンド結果の文字列を返信する方法を教えてください。

ありがとうございます。

答えて

2

Jsonの "c8y_Command"オブジェクトに対応するクラスはc8y.Commandです。したがって、結果を設定するコードは次のようになります。

operation.get(Command.class).setResult("165711141901401"); 
+0

ありがとうAndré、operation.get(Command.class)がnullを返しました。 operation.get( "c8y_Command")は私に何らかのオブジェクトを与えますが、どのタイプであるかわかりません。私はjavadoc http://resources.cumulocity.com/documentation/javasdk/current/でsetResultメソッドを見つけられませんでした。おそらくcom.cumulocity.sdk.client.buffering.Result.setResponse(オブジェクト)を意味しましたか? – Peter

+0

誤ったCommand.classを使用した可能性があります。輸入品のパッケージc8yかどうか確認してください。 nullを返すと、そのクラスのオブジェクトが見つからないことを意味します。 –

1

aha、私はこのようにキャストしなければなりませんでした。

((c8y.Command)operation.get("c8y_Command")).setResult("165711141901401"); 
関連する問題