Esempio n. 1
0
        public void SendPower(SonoffStatusEd entity, string commandName, params object[] args)
        {
            var device      = args[0] as string;
            var channel     = args[1] as string;
            var powerStatus = args[2] as string;

            _mqttService.SendMessage($"/cmnd/{device}/power{channel}", powerStatus);
        }
Esempio n. 2
0
        private void ParseMqttMessage(string topic, string message)
        {
            topic = topic.Replace("tele/", "");
            var entityName = topic.Split('/')[0];
            var fromTopic  = topic.Split('/')[1];

            if (fromTopic == _config.StateTopic)
            {
                var status = message.FromJson <SonoffStateMessage>();
                var ed     = new SonoffStatusEd
                {
                    EntityName = entityName,
                    LoadAvg    = status.LoadAvg,
                    Power1     = status.Power1,
                    SleepMode  = status.SleepMode,
                    Time       = status.Time,
                    Uptime     = TimeSpan.ParseExact(status.Uptime.Split('T')[1], "g", CultureInfo.InvariantCulture)
                };

                _ioTService.InsertEvent(ed);
            }
        }