コード例 #1
0
        public override async Task <bool> Start()
        {
            var ip = String.Empty;

            if (_useFixedIp.HasValue && _useFixedIp.Value)
            {
                ip = _ip;
            }
            else
            {
                var scan = await SonosDiscovery.DiscoverSonos();

                if (scan.Count == 0)
                {
                    DriverContext.Logger.LogError($"Could not find any sonos device..");
                    return(false);
                }

                var device = scan.FirstOrDefault(a => a.Uuid == _id);

                if (device == null)
                {
                    DriverContext.Logger.LogError($"Could not find sonos device with id {_id}..");
                    return(false);
                }

                ip = device.Location.Host;
            }

            _controller = _sonosControllerFactory.Create(ip);
            return(await base.Start());
        }
コード例 #2
0
ファイル: SonosDriver.cs プロジェクト: vsssunder/automatica
        public override async Task <IList <NodeInstance> > Scan()
        {
            var ret     = new List <NodeInstance>();
            var devices = await SonosDiscovery.DiscoverSonos();

            foreach (var device in devices)
            {
                if (_existingDevices.ContainsKey(device.Uuid))
                {
                    continue;
                }

                var node = DriverContext.NodeTemplateFactory.CreateNodeInstance(SonosDriverFactory.SonosDeviceGuid);
                node.Name = device.Uuid;

                var id = node.GetProperty(SonosDriverFactory.IdAddressPropertyKey);
                id.Value = device.Uuid;

                var ip = node.GetProperty(SonosDriverFactory.IpAddressPropertyKey);
                ip.Value = device.Location.Host;

                ret.Add(node);
            }

            return(ret);
        }
コード例 #3
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var discover = await SonosDiscovery.DiscoverSonos();

            var controller = new SonosControllerFactory().Create("192.168.8.105");

            var data = await controller.GetMediaInfoAsync();
        }