Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Funktion für SwitchLogicalDevice #3

Open
marmil opened this issue Mar 24, 2014 · 5 comments
Open

Funktion für SwitchLogicalDevice #3

marmil opened this issue Mar 24, 2014 · 5 comments

Comments

@marmil
Copy link
Contributor

marmil commented Mar 24, 2014

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

@Bubelbub
Copy link
Owner

Hallöchen,

Hatte mir das gestern angesehen und lade es nachher hoch.

Gruß,

@Bubelbub
Copy link
Owner

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.

@marmil
Copy link
Contributor Author

marmil commented Mar 24, 2014

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

@Bubelbub
Copy link
Owner

@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"??

@marmil
Copy link
Contributor Author

marmil commented Mar 29, 2014

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants