Beispiel #1
0
        /////////////////////////////////////////////////
        /// Handler function for when the Timer is triggerd,
        /// and turns off Poomba
        /////////////////////////////////////////////////
        private static void Sleep(object sender, ElapsedEventArgs e)
        {
            FwpsPublisher.PublishMessage("Poomba.CmdOff", "");
            Console.WriteLine("Poomba sleeping");

            //Rearm timer to start in one day
            _sleepTimer.Interval = TimeSpan.FromDays(1).TotalMilliseconds;
            _sleepTimer.Start();
        }
        /////////////////////////////////////////////////
        /// Handler function for when the Timer is triggerd,
        /// and turns on MorningSun
        /////////////////////////////////////////////////
        private static void WakeUp(object sender, ElapsedEventArgs e)
        {
            FwpsPublisher.PublishMessage("MorningSun.CmdOn", "");

            Console.WriteLine("Light waking up");

            //Rearm timer to start in one day
            _wakeUpTimer.Interval = TimeSpan.FromDays(1).TotalMilliseconds;
            _wakeUpTimer.Start();
        }
Beispiel #3
0
        /////////////////////////////////////////////////
        /// RFID-card scanned. Validates the card on the
        /// WebApi and responds accordingly.
        /////////////////////////////////////////////////
        private void RfidEntryRequest(string message)
        {
            Console.WriteLine("Hodoor: Received entry request with RFID: {0}", message);

            var token = _connector.GetItem("Login/" + message);

            Console.WriteLine(token);

            if (token == "Ok")
            {
                FwpsPublisher.PublishMessage("Hodoor.CmdModUnlock", "");
            }
            else
            {
                FwpsPublisher.PublishMessage("Hodoor.CmdModDenied", "");
            }
        }
Beispiel #4
0
 /////////////////////////////////////////////////
 /// Handler function for when the Web Api requests
 /// to lock Hodoor
 /////////////////////////////////////////////////
 private void LockHodoor(string message)
 {
     //Lock Hodoor
     FwpsPublisher.PublishMessage("Hodoor.CmdModLock", "");
 }
Beispiel #5
0
        static void Main(string[] args)
        {
            Console.WriteLine("Server application:\n");

            var connFactory = new ConnectionFactory()
            {
                HostName = "localhost"
            };

            connFactory.AutomaticRecoveryEnabled = true;
            // Init SigalR Singleton. Connecting to Azure and setting unit name
            SignalRClient.Instance.Setup("Master Unit");

            {
                MorningSunMessageHandler msgHandler  = new MorningSunMessageHandler();
                PoombaMessageHandler     msgHandler2 = new PoombaMessageHandler();
            }



            using (var connection = connFactory.CreateConnection())
            {
                IListener listener = new FwpsListener(connection);


                MessageDispatcher dispatcher = new MessageDispatcher(listener);

                //Add topics to subscribe to
                listener.Add("MorningSun.#");
                listener.Add("SnapBox.#");
                listener.Add("Hodoor.#");
                listener.Add("Poomba.#");

                //Initialize listener and publisher
                listener.Start();
                FwpsPublisher.Initialize(connection);

                Console.WriteLine("Enter a char, 1 for on, 2 for off, q for quit");
                char key = Console.ReadKey().KeyChar;
                while (key != 'q')
                {
                    if (key == '1')
                    {
                        FwpsPublisher.PublishMessage("MorningSun.CmdOn", "On");
                        Console.WriteLine("Sending on");
                    }
                    else if (key == '2')
                    {
                        FwpsPublisher.PublishMessage("MorningSun.CmdOff", "Off");
                        Console.WriteLine("Sending off");
                    }
                    else if (key == '3')
                    {
                        FwpsPublisher.PublishMessage("MorningSun.CmdStatus", "Status");
                        Console.WriteLine("Sending status");
                    }
                    key = Console.ReadKey().KeyChar;
                }


                Console.WriteLine("Press Enter to Exit");
                Console.ReadLine();

                listener.Dispose();
            }
        }
Beispiel #6
0
 /////////////////////////////////////////////////
 /// Handler function for when the Web Api requests
 /// to turn off Poomba
 /////////////////////////////////////////////////
 private void TurnOff(string message)
 {
     Console.WriteLine("Received \"off\" Poomba");
     //Ask Poomba to turn off
     FwpsPublisher.PublishMessage("Poomba.CmdOff", "");
 }
Beispiel #7
0
 /////////////////////////////////////////////////
 /// Handler function for when the Web Api requests
 /// to turn on Poomba
 /////////////////////////////////////////////////
 private void TurnOn(string message)
 {
     //Ask Poomba to turn on
     Console.WriteLine("Received \"on\" Poomba");
     FwpsPublisher.PublishMessage("Poomba.CmdOn", "");
 }
 /////////////////////////////////////////////////
 /// Handler function for when the Web Api requests
 /// to turn off MorningSun
 /////////////////////////////////////////////////
 private void TurnOff(string message)
 {
     //Ask MorningSun to turn off
     FwpsPublisher.PublishMessage("MorningSun.CmdOff", "");
 }
 /////////////////////////////////////////////////
 /// Handler function for when the Web Api requests
 /// to turn on MorningSun
 /////////////////////////////////////////////////
 private void TurnOn(string message)
 {
     //Ask MorningSun to turn on
     FwpsPublisher.PublishMessage("MorningSun.CmdOn", "");
 }