Ich habe eine Lösung für mich gefunden. Das Problem war, dass im XML das Attribut type ohne Namespace gesendet wurde, also
statt
Ich habe die Idee zur Lösung hier gefunden: http://stackoverflow.com/questions/69275...xmlelement
Ich habe einfach ein zweites Prefix xmlns vor dem xsi eingefügt. Das ist vielleicht nicht ganz sauber, aber es geht erstmal:
Jetzt klappts auch mit dem Schalten, auch für meinen Zwischenstecker:
Gruß,
Christian.
Code:
...<LogicalDeviceState type="RoomTemperatureActuatorState" ...
statt
Code:
...<LogicalDeviceState xsi:type="RoomTemperatureActuatorState" ...
Ich habe die Idee zur Lösung hier gefunden: http://stackoverflow.com/questions/69275...xmlelement
Ich habe einfach ein zweites Prefix xmlns vor dem xsi eingefügt. Das ist vielleicht nicht ganz sauber, aber es geht erstmal:
PHP-Code:
public function addRoomTemperatureActuatorState($logicalDeviceId, $pointTemperature, $mode)
{
$this->actuatorStates[] = array(
'xmlns:xsi:type' => 'RoomTemperatureActuatorState',
'LID' => $logicalDeviceId,
'PtTmp' => $pointTemperature,
'OpnMd' => $mode,
'WRAc' => 'false'
);
}
Jetzt klappts auch mit dem Schalten, auch für meinen Zwischenstecker:
PHP-Code:
/**
* @param string $logicalDeviceId the logical device id
* @param string $isOn switch actuator on (True) or off (False)
*/
public function addSwitchActuatorState($logicalDeviceId, $isOn)
{
$this->actuatorStates[] = array(
'xmlns:xsi:type' => 'SwitchActuatorState',
'LID' => $logicalDeviceId,
'IsOn' => $isOn
);
}
Gruß,
Christian.