0

我需要一些帮助来设置一个Button来控制我在一个房间里的照明。我已经在 Android Studio 中实现了 WebSocket 客户端。我有一个Button我想发送/写入false此 KNX 组地址“1/0/4”的值。有没有办法做到这一点?

我使用 LogicMachine LogicMachine作为网络服务器,其中内置了 Websockets 库LUA.

public class MainActivity extends AppCompatActivity {

Button btn;

private WebSocketClient webSocketClient;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btn = (Button)findViewById(R.id.BT);


    connectWS();

}


private void connectWS() {

    URI uri;
    try {
        uri = new URI("wss://admin:admin@192.168.10.11/apps/localbus.lp");

    } catch (URISyntaxException e) {
        e.printStackTrace();
        return;
    }

    webSocketClient = new WebSocketClient(uri) {


        @Override
        public void onOpen(ServerHandshake handshakedata) {
            Log.i("Websocket", "Opened");
            webSocketClient.send("Hello from " + Build.MANUFACTURER + " " + Build.MODEL);
        }

        @Override
        public void onMessage(String s) {
            final String message = s;
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    TextView textView = (TextView) findViewById(R.id.TW);
                    textView.setText(textView.getText() + "\n" + message);
                }
            });
        }


        @Override
        public void onClose(int i, String s, boolean b) {
            Log.i("Websocket", "Closed " + s);

        }

        @Override
        public void onError(Exception e) {
            Log.i("Websocket", "Error " + e.getMessage());
        }

    };

    webSocketClient.connect();

}

public void sendMessage(View view) {
    EditText editText = (EditText) findViewById(R.id.ET);
    webSocketClient.send(editText.getText().toString());
    editText.setText("");


}
4

0 回答 0