03-04-2013, 00:47:56
(Dieser Beitrag wurde zuletzt bearbeitet: 03-04-2013, 01:48:16 von steffen.timm.)
Vielen Dank Marko,
ich habe mich mal an deiner Lib versucht. DeviceStates bekomme ich zwar hab nur keine Ahnung, wie ich die ändern kann. Könntest du vielleicht noch ein kleines Beispiel posten wie deine Library zu Benutzen ist?
EDIT:
Ich habe noch folgende Methode an den LogicalDeviceStateManager angehängt:
Plus einem extra Konstruktor für LogicalDeviceState und alle erbenden Klassen um die ID zu setzen.
Jetzt kann ich zum Beispiel mit folgendem Code meine Wohnzimmer Lampe schalten:
LG
Steffen
ich habe mich mal an deiner Lib versucht. DeviceStates bekomme ich zwar hab nur keine Ahnung, wie ich die ändern kann. Könntest du vielleicht noch ein kleines Beispiel posten wie deine Library zu Benutzen ist?
EDIT:
Ich habe noch folgende Methode an den LogicalDeviceStateManager angehängt:
Code:
public ControlResultResponse SetDeviceState(LogicalDeviceState state)
{
SetActuatorStatesRequest request = new SetActuatorStatesRequest();
request.ActuatorStates = new List<LogicalDeviceState>();
request.ActuatorStates.Add(state);
ControlResultResponse response = requestHandler.RequestResponse<SetActuatorStatesRequest, ControlResultResponse>(request);
return response;
}
Plus einem extra Konstruktor für LogicalDeviceState und alle erbenden Klassen um die ID zu setzen.
Jetzt kann ich zum Beispiel mit folgendem Code meine Wohnzimmer Lampe schalten:
Code:
RequestHandler req = new RequestHandler("username", "password", "https://smarthome09");
EntityManager entityManager = new EntityManager(req);
LogicalDeviceStateManager logicalDeviceStateManager = new LogicalDeviceStateManager(req);
//Die Lampe mit dem Namen "Lampe Sofa" auswählen
SwitchActuator device = (SwitchActuator)entityManager.LogicalDevices.Where(Device => Device.Name == "Lampe Sofa").First();
//Neuen State für die Lampe erstellen
SwitchActuatorState state = new SwitchActuatorState(device.Id);
//IsOn vom State auf true setzen
state.IsOn = true;
//Neuen State an die Zentrale schicken
logicalDeviceStateManager.SetDeviceState(state);
LG
Steffen