/// <summary> /// Sonos Suchen (Start Scan) /// </summary> private static Boolean InitialSonos() { try { // ReSharper disable once InconsistentlySynchronizedField Sonos = new SonosDiscovery(); lock (Sonos) { Sonos.StartScan(); Boolean ok = false; DateTime startnow = DateTime.Now; while (!ok) { //Timer, falls das suchen länger als 360 Sekunden dauet abbrechen int tdelta = (DateTime.Now - startnow).Seconds; if (Sonos.Players.Count > 0 || tdelta > 360) { ok = true; } } Sonos.TopologyChanged += Sonos_TopologyChanged; } return(true); } catch (Exception x) { ServerErrorsAdd("SonosHelper:InitialSonos", x); return(false); } }
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()); }
public MainWindow() { InitializeComponent(); _sonos = new SonosDiscovery(); _sonos.StartScan(); _sonos.TopologyChanged += _sonos_TopologyChanged; }
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); }
protected override void OnStartup(StartupEventArgs e) { log = Logger.GetLogger(GetType()); AppDomain.CurrentDomain.UnhandledException += HandleException; DispatcherUnhandledException += HandleDispatcherException; base.OnStartup(e); discovery = new SonosDiscovery(); discovery.TopologyChanged += TopologyChanged; server = new HttpServer(); }
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(); }
public SonosHandler() { d = new SonosDiscovery(); d.StartScan(); Thread.Sleep(5000); }