Ejemplo n.º 1
0
        async void lightSwitchClient_ConnectionClosed(object sender, LightSwitchClientEventArgs args)
        {
            await Log.ReportInfoFormatAsync(CancellationToken, "Client {0} disconnected", args.LightSwitchClient.RemoteEndPoint);

            if (_lightSwitchClients.Contains(args.LightSwitchClient))
                _lightSwitchClients.Remove(args.LightSwitchClient);

            args.LightSwitchClient.OnConnectionEstabilished -= lightSwitchClient_ConnectionEstabilished;
            args.LightSwitchClient.OnConnectionClosed -= lightSwitchClient_ConnectionClosed;

            args.LightSwitchClient.OnDataReceived -= lightSwitchClient_DataReceived;
            args.LightSwitchClient.OnDataSent -= lightSwitchClient_DataSent;

            args.LightSwitchClient.OnCmdAList -= lightSwitchClient_onCmdAList;
            args.LightSwitchClient.OnCmdDevice -= lightSwitchClient_onCmdDevice;
            args.LightSwitchClient.OnCmdIphone -= lightSwitchClient_onCmdIphone;
            args.LightSwitchClient.OnCmdList -= lightSwitchClient_onCmdList;
            args.LightSwitchClient.OnCmdPassword -= lightSwitchClient_onCmdPassword;
            args.LightSwitchClient.OnCmdScene -= lightSwitchClient_onCmdScene;
            args.LightSwitchClient.OnCmdServer -= lightSwitchClient_onCmdServer;
            args.LightSwitchClient.OnCmdSList -= lightSwitchClient_onCmdSList;
            args.LightSwitchClient.OnCmdTerminate -= lightSwitchClient_onCmdTerminate;
            args.LightSwitchClient.OnCmdThermMode -= lightSwitchClient_onCmdThermMode;
            args.LightSwitchClient.OnCmdThermTemp -= lightSwitchClient_onCmdThermTemp;
            args.LightSwitchClient.OnCmdVersion -= lightSwitchClient_onCmdVersion;
            args.LightSwitchClient.OnCmdZList -= lightSwitchClient_onCmdZList;
            args.LightSwitchClient.OnCmdZone -= lightSwitchClient_onCmdZone;
        }
Ejemplo n.º 2
0
        async void lightSwitchClient_ConnectionEstabilished(object sender, LightSwitchClientEventArgs args)
        {
            if (_lightSwitchClients.Count > MaxConnectionsSettings)
            {
                await SendLightSwitchCommand(args.LightSwitchClient, LightSwitchProtocol.CreateMsgCmd("Max clients reached!"));
                args.LightSwitchClient.Disconnect();
            }

            await Log.ReportInfoFormatAsync(CancellationToken, "Client {0} connected", args.LightSwitchClient.RemoteEndPoint);
            await SendLightSwitchCommand(args.LightSwitchClient, LightSwitchProtocol.CreateInfoCmdFormat("LightSwitch zVirtualScenes Plug-in (Active Connections {0}){1}", _lightSwitchClients.Count, Environment.NewLine));
        }
Ejemplo n.º 3
0
        async void lightSwitchClient_onCmdServer(object sender, LightSwitchClientEventArgs args)
        {
            if (!args.LightSwitchClient.IsAuthenticated)
                args.LightSwitchClient.Disconnect();

            await SendLightSwitchCommand(args.LightSwitchClient, LightSwitchProtocol.CreateVersionCmd(Utils.ApplicationNameAndVersion));
        }
Ejemplo n.º 4
0
 void lightSwitchClient_onCmdTerminate(object sender, LightSwitchClientEventArgs args)
 {
     args.LightSwitchClient.Disconnect();
 }
Ejemplo n.º 5
0
        async void lightSwitchClient_onCmdList(object sender, LightSwitchClientEventArgs args)
        {
            if (!args.LightSwitchClient.IsAuthenticated)
                args.LightSwitchClient.Disconnect();

            await Log.ReportInfoFormatAsync(CancellationToken, "Received [{0}] User requested device list", args.LightSwitchClient.RemoteEndPoint);
            await SendDeviceListAsync(args.LightSwitchClient);
            await SendLightSwitchCommand(args.LightSwitchClient, LightSwitchProtocol.CreateEndListCmd());
        }
Ejemplo n.º 6
0
 async void lightSwitchClient_onCmdZList(object sender, LightSwitchClientEventArgs args)
 {
     await Log.ReportInfoFormatAsync(CancellationToken, "Received [{0}] User requested zone list", args.LightSwitchClient.RemoteEndPoint);
     await SendZoneListAsync(args.LightSwitchClient);
     await SendLightSwitchCommand(args.LightSwitchClient, LightSwitchProtocol.CreateEndListCmd());
 }
Ejemplo n.º 7
0
 async void lightSwitchClient_onCmdIphone(object sender, LightSwitchClientEventArgs args)
 {
     args.LightSwitchClient.IsAuthenticated = false;
     await SendLightSwitchCommand(args.LightSwitchClient, LightSwitchProtocol.CreateCookieCmd(args.LightSwitchClient.Nonce.ToString()));
 }