SmartHome-PHP icon indicating copy to clipboard operation
SmartHome-PHP copied to clipboard

Funktion für SwitchLogicalDevice

Open marmil opened this issue 10 years ago • 5 comments

Hallo und noch einmal vielen Dank, ein Update für die Einbindung der Funktion "setLogicalDeviceState" wäre super. Eventuell auch direkt mit Rolladensteuerung etc.

LG

marmil avatar Mar 24 '14 09:03 marmil

Hallöchen,

Hatte mir das gestern angesehen und lade es nachher hoch.

Gruß,

Bubelbub avatar Mar 24 '14 10:03 Bubelbub

Hmm also irgendwie muss ich dich für heute vertrösten.

Die Funktion, die die SetActuatorStatesRequest.php betrifft, ist doch etwas größer. Hab eben mal getestet und hin und her überlegt... Nach den Monaten jetzt ist die Struktur etwas gewöhnungsbedürftig.

Da ich sonst noch beruflich arbeite, habe ich das zeitlich nicht mehr geschafft.

Ein Beispiel wie du dann später das machen kannst: (später = morgen, übermorgen oder die Tage)

$sh = new \Bubelbub\SmartHomePHP\SmartHome('Hostname or IP address', 'Username', 'Password');

$setActuatorStates = new SetActuatorStatesRequest($sh);
$setActuatorStates->addLogicalDeviceState('LID', true/* oder false*/);
$setActuatorStates->send();

So kannst du z.B. auch mehrere auf einmal setzen:

$sh = new \Bubelbub\SmartHomePHP\SmartHome('Hostname or IP address', 'Username', 'Password');

$setActuatorStates = new SetActuatorStatesRequest($sh);
$setActuatorStates->addLogicalDeviceState('LID', true/* oder false*/);
$setActuatorStates->addLogicalDeviceState('Andere LID', true/* oder false*/);
$setActuatorStates->addLogicalDeviceState('Weitere LID', true/* oder false*/);
$setActuatorStates->send();

Das o.g. funktioniert, wenn man "addLogicalDeviceState" mit z.B. "addRoomTemperatureActuatorState" ersetzen würde. D.h. die Raumtemperatur verändern möchte.

Da der "LogicalDeviceState" etwas "komplexer" ist (sind nicht nur Attribute), muss ich das System dafür anpassen. Das Problem ist, dass das vorherige System zu simple gedacht war ... Einfach nen Array mit Attributen, fertig. Eigentlich super... Nur will man eben beim LogicalDevice noch "Ppts" einfügen...

Ist aber die Tage erledigt. Das Thema SmartHome, SmartHome-PHP und SmartHome-GUI wird langsam aber sicher wieder ein zentrales Projekt von mir.

Bubelbub avatar Mar 24 '14 20:03 Bubelbub

Lass dir ruhig Zeit. Ich freue mich schon darüber, dass du dich daran setzt :) Vielleicht können wir ja mal darüber quatschen wie das was ich damit bastel auch für dich eventuell nützlich sein kann. (Überwachung einer Alarmanlager über einen Raspberry, Sprachsteuerung von SmartHome und Wettervorhersagen für die Zentralheizung).

Ich arbeite gerade intensiver an einer selbstlernenden überlagerten Heizungsregelung, da die von RWE Schrott ist :). Und an einer Schaltungen um Zentralheizungen an Smarthome anzubinden.

Lg

marmil avatar Mar 24 '14 20:03 marmil

@marmil Welches Gerät möchtest du eigentlich per setLogicalDeviceState steuern?

Ich hab das gerade mal umgesetzt und lade es gleich hoch... Da fällt mir ein, dass du Zwischenstecker zukünftig per "SwitchActuatorState" steuerst. Die Thermostate steuerst du per "RoomTemperatureActuatorState".

Für was war jetzt dieses "LogicalDeviceState"??

Bubelbub avatar Mar 29 '14 16:03 Bubelbub

Hatte an Zwischenstecker und Rolladensteuerungen gedacht, das Deckt ja im weitesten Sinne dann auch alle anderen Geräte ab. Die Heizungssteuerung klappt ja schon :) :+1: Vielen Dank fürs hochladen!

marmil avatar Mar 29 '14 19:03 marmil