This project is read-only.



Verbindung erstellen
RequestHandler requestHandler = new RequestHandler("user", "PWD", "https://smarthome03");
LogicalDeviceStateManager logicalDeviceStateManager = new LogicalDeviceStateManager(requestHandler);

// Zugriff auf alle DeviceStates
var list = logicalDeviceStateManager.LogicalDeviceStates;


Werte Setzen:
var state = (RoomTemperatureActuatorState) logicalDeviceStateManager.LogicalDeviceStates.Find(x => x.LogicalDeviceId == Guid.Parse("F80D0848-5367-4F09-AC1C-10A00A6EA9E9"));
state.PointTemperature = 24;
lm.SaveChanges();

Beispiel: Gerät anhand eines Names ermitteln
// Name des gesuchten Gerätes
String deviceName = "Lampe A";
// Handler mit Benutzer, Passwort und URI zur SmartHome Zentrale erstellen
RequestHandler requestHandler = new RequestHandler("username", "password", "https://smarthome09");
// EntityManager mit dem Handler erzeugen. Der EntityManager kümmert sich unter anderem um die Geräte
EntityManager entityManager = new EntityManager(requestHandler);
// LogicalDeviceStateManager mit dem Handler erzeugen. Der LogicalDeviceStateManager kümmert sich um die Zustände von Geräten
LogicalDeviceStateManager logicalDeviceStateManager = new LogicalDeviceStateManager(requestHandler);
// Mittels LINQ das erste Gerät aus der Gesamtliste auswählen, bei dem der Name mit dem Inhalt von deviceName übereinstimmt
SwitchActuator device = (SwitchActuator)entityManager.LogicalDevices.Where(d => d.Name == deviceName).First();
// Mittels LINQ den ersten Zustand aus der Gesamtliste auswählen, bei dem die LogicalDeviceId mit der ID des Gerätes in device übereinstimmt
SwitchActuatorState deviceState = (SwitchActuatorState)logicalDeviceStateManager.LogicalDeviceStates.Where(s => s.LogicalDeviceId == device.Id).First();
// Den Gerätenamen und seinen Zustand auf der Console ausgeben
Console.WriteLine(device.Name " ist " (deviceState.IsOn ? "an" : "aus"));

Last edited Apr 6, 2013 at 4:45 PM by mgeissler, version 4

Comments

No comments yet.