From b295f931a39a950fe35a6630663560258d2aa890 Mon Sep 17 00:00:00 2001 From: Heath Volmer Date: Tue, 4 Sep 2018 14:31:29 -0600 Subject: [PATCH] ? --- .../AppServer/CotijaSystemController.cs | 41 ++++++++++++++++++- .../RoomBridges/CotijaDdvc01RoomBridge.cs | 2 + .../CotijaEssentialsHuddleSpaceRoomBridge.cs | 2 +- .../Properties/AssemblyInfo.cs | 2 +- 4 files changed, 44 insertions(+), 3 deletions(-) diff --git a/PepperDashEssentials/AppServer/CotijaSystemController.cs b/PepperDashEssentials/AppServer/CotijaSystemController.cs index 338d325b..0564a048 100644 --- a/PepperDashEssentials/AppServer/CotijaSystemController.cs +++ b/PepperDashEssentials/AppServer/CotijaSystemController.cs @@ -474,6 +474,8 @@ namespace PepperDash.Essentials WSClient = new WebSocketClient(); } WSClient.URL = string.Format("wss://{0}/system/join/{1}", Config.ServerUrl, this.SystemUuid); + WSClient.ConnectionCallBack = ConnectCallback; + WSClient.DisconnectCallBack = DisconnectCallback; WSClient.Connect(); Debug.Console(0, this, "Websocket connected"); WSClient.ReceiveCallBack = WebsocketReceiveCallback; @@ -481,6 +483,43 @@ namespace PepperDash.Essentials WSClient.ReceiveAsync(); } + /// + /// Waits two and goes again + /// + void ReconnectStreamClient() + { + WSClient = null; + new CTimer(o => ConnectStreamClient(), 2000); + } + + /// + /// + /// + /// + /// + int ConnectCallback(WebSocketClient.WEBSOCKET_RESULT_CODES code) + { + if (code != WebSocketClient.WEBSOCKET_RESULT_CODES.WEBSOCKET_CLIENT_SUCCESS) + { + Debug.Console(1, this, "Web socket connection failed: {0}", code); + ReconnectStreamClient(); + } + return 0; + } + + /// + /// + /// + /// + /// + int DisconnectCallback(WebSocketClient.WEBSOCKET_RESULT_CODES code, object o) + { + Debug.Console(1, this, Debug.ErrorLogLevel.Warning, "Websocket disconnected with code: {0}", code); + ReconnectStreamClient(); + return 0; + } + + /// /// Resets reconnect timer and updates usercode /// @@ -619,7 +658,7 @@ namespace PepperDash.Essentials } case "held": { - if (!PushedActions.ContainsKey(type)) + if (PushedActions.ContainsKey(type)) { PushedActions[type].Reset(ButtonHeartbeatInterval, ButtonHeartbeatInterval); } diff --git a/PepperDashEssentials/AppServer/RoomBridges/CotijaDdvc01RoomBridge.cs b/PepperDashEssentials/AppServer/RoomBridges/CotijaDdvc01RoomBridge.cs index c47d11b3..699b5d84 100644 --- a/PepperDashEssentials/AppServer/RoomBridges/CotijaDdvc01RoomBridge.cs +++ b/PepperDashEssentials/AppServer/RoomBridges/CotijaDdvc01RoomBridge.cs @@ -422,6 +422,7 @@ namespace PepperDash.Essentials.Room.Cotija break; var icon = EISC.StringOutput[651 + i].StringValue; var key = EISC.StringOutput[671 + i].StringValue; + var type = EISC.StringOutput[701 + i].StringValue; Debug.Console(0, this, "Adding source {0} '{1}'", key, name); @@ -430,6 +431,7 @@ namespace PepperDash.Essentials.Room.Cotija Name = name, Order = (int)i + 1, SourceKey = key, + Type = eSourceListItemType.Route }; newSl.Add(key, newSLI); diff --git a/PepperDashEssentials/AppServer/RoomBridges/CotijaEssentialsHuddleSpaceRoomBridge.cs b/PepperDashEssentials/AppServer/RoomBridges/CotijaEssentialsHuddleSpaceRoomBridge.cs index 24f2340a..815aa3e8 100644 --- a/PepperDashEssentials/AppServer/RoomBridges/CotijaEssentialsHuddleSpaceRoomBridge.cs +++ b/PepperDashEssentials/AppServer/RoomBridges/CotijaEssentialsHuddleSpaceRoomBridge.cs @@ -74,7 +74,7 @@ namespace PepperDash.Essentials { Parent.AddAction(string.Format(@"/room/{0}/volumes/master/level", Room.Key), new Action(u => (volumeRoom.CurrentVolumeControls as IBasicVolumeWithFeedback).SetVolume(u))); - Parent.AddAction(string.Format(@"/room/{0}/volumes/master/mute", Room.Key), new Action(() => + Parent.AddAction(string.Format(@"/room/{0}/volumes/master/muteToggle", Room.Key), new Action(() => volumeRoom.CurrentVolumeControls.MuteToggle())); volumeRoom.CurrentVolumeDeviceChange += new EventHandler(Room_CurrentVolumeDeviceChange); diff --git a/PepperDashEssentials/Properties/AssemblyInfo.cs b/PepperDashEssentials/Properties/AssemblyInfo.cs index b603f138..36c70ef4 100644 --- a/PepperDashEssentials/Properties/AssemblyInfo.cs +++ b/PepperDashEssentials/Properties/AssemblyInfo.cs @@ -4,5 +4,5 @@ [assembly: AssemblyCompany("PepperDash Technology Corp")] [assembly: AssemblyProduct("PepperDashEssentials")] [assembly: AssemblyCopyright("Copyright © PepperDash Technology Corp 2018")] -[assembly: AssemblyVersion("1.2.5.*")] +[assembly: AssemblyVersion("1.2.6.*")]