Access CCU (Actors & Sensors) via php
Moderator: Co-Administratoren
Re: Access CCU (Actors & Sensors) via php
Hi...
Sorry...bin ein wenig im Stress und kann nicht alles lesen...
Hast Du das Skript von Alex modifiziert? Versuche mal, sämtliche Anfragen nicht über spezielle Typen zu schicken sondern nimm immer einen String...das klappt am besten. Wenn Du also für ON_TIME einen Zeitwert übermitteln möchtest (z. B. 2 Sekunden), dann übermittle "2.0" als String und nicht als Float/Double. Evtl. muss da das PHP Skript angepasst werden. Das Problem mit dem Error hatte ich auch schon.
Alternativ ersetzte mal Punkt durch Komma bzw. vs. - je nach System bedeutet ein Punkt etwas anderes...
Ich muss am WE eh' noch einiges auf der CCU vorbereiten...falls es nicht klappt, kann ich das gerne nochmals mit der PHP Geschichte bei mir probieren...melde Dich dann nochmal!
Gruß,
kaju
Sorry...bin ein wenig im Stress und kann nicht alles lesen...
Hast Du das Skript von Alex modifiziert? Versuche mal, sämtliche Anfragen nicht über spezielle Typen zu schicken sondern nimm immer einen String...das klappt am besten. Wenn Du also für ON_TIME einen Zeitwert übermitteln möchtest (z. B. 2 Sekunden), dann übermittle "2.0" als String und nicht als Float/Double. Evtl. muss da das PHP Skript angepasst werden. Das Problem mit dem Error hatte ich auch schon.
Alternativ ersetzte mal Punkt durch Komma bzw. vs. - je nach System bedeutet ein Punkt etwas anderes...
Ich muss am WE eh' noch einiges auf der CCU vorbereiten...falls es nicht klappt, kann ich das gerne nochmals mit der PHP Geschichte bei mir probieren...melde Dich dann nochmal!
Gruß,
kaju
HomeMatic-INSIDE: http://www.homematic-inside.de
Re: Access CCU (Actors & Sensors) via php
Hi,
also bei mir klappt das Script. Ich benutze das um den Batteriestatus div. Geräte abzufragen. Allerdings habi ich das für die IPS modifiziert. daher kann ich jetzt Deine Sachen nicht testen.
Versuche doch erst mal einen Aktor normal einzuschalten. Wenn das klappt, dann kannst Du ja den ON_TIME-Befehl einfügen. Wenns nicht klappt, dann muss ich das Script bei mir noch mal im Original einspielen.
Ach ja, auf welchem Webserver lässt Du das Script laufen? Ich lasse das über den Webserver der IPS laufen. Alternativ könnte ich noch den IIS testen wenn es bei Dir nicht laufen will.
Ciao, Christoph.
also bei mir klappt das Script. Ich benutze das um den Batteriestatus div. Geräte abzufragen. Allerdings habi ich das für die IPS modifiziert. daher kann ich jetzt Deine Sachen nicht testen.
Versuche doch erst mal einen Aktor normal einzuschalten. Wenn das klappt, dann kannst Du ja den ON_TIME-Befehl einfügen. Wenns nicht klappt, dann muss ich das Script bei mir noch mal im Original einspielen.
Ach ja, auf welchem Webserver lässt Du das Script laufen? Ich lasse das über den Webserver der IPS laufen. Alternativ könnte ich noch den IIS testen wenn es bei Dir nicht laufen will.
Ciao, Christoph.
Re: Access CCU (Actors & Sensors) via php
aaah - jetzt wird´s klar was Du willst:
das problem ist dass Du tatsächlich die Taste ansteuerst was natürlich nicht klappt.
Aber bei Fernbedienungen haben die "Simulierten Tasten" eigene Adressen unterschieden nach kurz und lang (gedrückt)
ich habe mal einen Ausschnitt aus meiner homematic.regadom drangehängt - hier wird nach den Tasten unterschieden und diese simuliert Taste hat eine eigene id (3234)
was auf jeden fall funktionieren müsste: lade dir mit ftp deine homematic.regadom von der CCU und suche nach der adresse (id) des gewünschten Schalters und setzte den statt des EEQ-names in deinen Aufruf.
Wenn ich das richtig sehe ist die Alternative das Script entsprechend zu erweitern, um PRESS_LONG / PRESS_SHORT analog den INSTALL_TEST aktionen - kann es im Moment nicht selber ausprobieren da ich nicht an meine CCU rankomme .
Andreas
das problem ist dass Du tatsächlich die Taste ansteuerst was natürlich nicht klappt.
Aber bei Fernbedienungen haben die "Simulierten Tasten" eigene Adressen unterschieden nach kurz und lang (gedrückt)
ich habe mal einen Ausschnitt aus meiner homematic.regadom drangehängt - hier wird nach den Tasten unterschieden und diese simuliert Taste hat eine eigene id (3234)
was auf jeden fall funktionieren müsste: lade dir mit ftp deine homematic.regadom von der CCU und suche nach der adresse (id) des gewünschten Schalters und setzte den statt des EEQ-names in deinen Aufruf.
Wenn ich das richtig sehe ist die Alternative das Script entsprechend zu erweitern, um PRESS_LONG / PRESS_SHORT analog den INSTALL_TEST aktionen - kann es im Moment nicht selber ausprobieren da ich nicht an meine CCU rankomme .
Code: Alles auswählen
<id>3234</id>
<name>BidCos-RF.EEQ0035724:15.PRESS_LONG</name>
<type>393281</type>
<enabled>1</enabled>
<accessrights>4294967295</accessrights>
<objflgs>1</objflgs>
<metadata>
<count>6</count>
<property>CONTROL</property>
<value>BUTTON.LONG</value>
<property>MAX</property>
<value>true</value>
<property>MIN</property>
<value>false</value>
<property>TAB_ORDER</property>
<value>1</value>
<property>TYPE</property>
<value>ACTION</value>
<property>UNIT</property>
<value></value>
</metadata>
</obj>
Re: Access CCU (Actors & Sensors) via php
[quote="agen"]aaah - jetzt wird´s klar was Du willst:[/quote]
Hi,
ich glaube klar ist jetzt nichts mehr.
Ich denke es sollte klar sein, dass man nicht per Script eine Taste drücken kann. Wozu auch? Es soll ja ein oder mehrere Aktoren geschaltet werden. Das lässt sich per Script realisieren.
Wie im ursprünglichen Script steht: "setValue AddressOfActor:2 STATE 1 " muss die Adresse des Actors eingetragen werden. Eine Fernbedienung ist kein Actor.
Kaann denn jemand bestätigen, dass man statt der Adresse auch die ID benutzen kann? Mal abgesehen davon, dass die Adresse aus dem WebGUI einfach auslesbar ist, die ID aber relativ umständlich zu bekommen ist.
Ciao, Chrstoph.
Hi,
ich glaube klar ist jetzt nichts mehr.
Ich denke es sollte klar sein, dass man nicht per Script eine Taste drücken kann. Wozu auch? Es soll ja ein oder mehrere Aktoren geschaltet werden. Das lässt sich per Script realisieren.
Wie im ursprünglichen Script steht: "setValue AddressOfActor:2 STATE 1 " muss die Adresse des Actors eingetragen werden. Eine Fernbedienung ist kein Actor.
Kaann denn jemand bestätigen, dass man statt der Adresse auch die ID benutzen kann? Mal abgesehen davon, dass die Adresse aus dem WebGUI einfach auslesbar ist, die ID aber relativ umständlich zu bekommen ist.
Ciao, Chrstoph.
Re: Access CCU (Actors & Sensors) via php
Nein, ich möchte keine Aktoren schalten.Christoph hat geschrieben:Hi,agen hat geschrieben:aaah - jetzt wird´s klar was Du willst:
ich glaube klar ist jetzt nichts mehr.
Ich denke es sollte klar sein, dass man nicht per Script eine Taste drücken kann. Wozu auch? Es soll ja ein oder mehrere Aktoren geschaltet werden. Das lässt sich per Script realisieren.
Wie im ursprünglichen Script steht: "setValue AddressOfActor:2 STATE 1 " muss die Adresse des Actors eingetragen werden. Eine Fernbedienung ist kein Actor.
Kaann denn jemand bestätigen, dass man statt der Adresse auch die ID benutzen kann? Mal abgesehen davon, dass die Adresse aus dem WebGUI einfach auslesbar ist, die ID aber relativ umständlich zu bekommen ist.
Ciao, Chrstoph.
Ich "schalte" per Fernbedienung (Taste15) eine Systemwariable auf den Wert "an/aus" langer Tastendruck =an kurzer Tastendruck=aus. Ich suche also einen Weg, eine Systemwariable aus meiner
Webanwendung heraus zu ändern. (soetwas ähnliches wie das scharfschalten einer Alarmanlage über Web)
Das schalten von Aktoren mit diesem php-Skript funktioniert bei mir bereits einwandfrei.
Da ich keine andere Möglichkeit kenne, von aussen eine Systemvariable zu ändern, bin ich auf die Idee mit der Fernbedienung gekommen.
Gruß
Re: Access CCU (Actors & Sensors) via php
Also schön noch mal der Reihe nach:
OhOme möchte gerne das gleiche tun was man über das CCU Web-Interface bei Fernbedienungen tun kann: nämlich die kurzen und langen Tastendrücke simulieren - wozu ist erst mal egal
Da man "natürlich" nicht der CCU sagen kann drücke die Taste - gibt es eine eigene Adressierung zum Auslösen dieser Events:
1. PRESS_SHORT
2. PRESS_LONG
damit das auch mit dem Script von Alex funktioniert braucht man eine kleine Erweiterung in der hmcontrol.php:
also die Erweiterung um die Werte PRESS_SHORT und PRESS_LONG.
ruft man das script per
auf, so wird wie gewünscht das entsprechende Tastendruckevent ausgelöst - und was auch immer mit dem entsprechenden Tastedruck der Taste verknüpft ist (Systemvariable, Aktor, Programm oder Selbstzerstörung ) wird ausgelöst.
@Christoph q.e.d
Viele Grüsse
Andreas
OhOme möchte gerne das gleiche tun was man über das CCU Web-Interface bei Fernbedienungen tun kann: nämlich die kurzen und langen Tastendrücke simulieren - wozu ist erst mal egal
Da man "natürlich" nicht der CCU sagen kann drücke die Taste - gibt es eine eigene Adressierung zum Auslösen dieser Events:
1. PRESS_SHORT
2. PRESS_LONG
damit das auch mit dem Script von Alex funktioniert braucht man eine kleine Erweiterung in der hmcontrol.php:
Code: Alles auswählen
case "setValue":
$hm->AddParam($HTTP_GET_VARS["what"],3);
if ( $HTTP_GET_VARS["what"] == 'STATE'
|| $HTTP_GET_VARS["what"] == 'INSTALL_TEST'
|| $HTTP_GET_VARS["what"] == 'INHIBIT'
|| $HTTP_GET_VARS["what"] == 'PRESS_SHORT'
|| $HTTP_GET_VARS["what"] == 'PRESS_LONG') //value is boolean type
$hm->AddParam($HTTP_GET_VARS["value"],2);
if ($HTTP_GET_VARS["what"] == 'ON_TIME') /
ruft man das script per
Code: Alles auswählen
http://10.90.1.2:90/cgi-bin/hmcontrol.php?method=setValue&address=EEQ0035794:15&what=PRESS_SHORT&value=1
Code: Alles auswählen
Request: "setValue"
Param[0]="EEQ0035794:15" Type(3)
Param[1]="PRESS_SHORT" Type(3)
Param[2]="1" Type(2)
Answer:
Length:8
Value: (empty = OK)!
Viele Grüsse
Andreas
Re: Access CCU (Actors & Sensors) via php
KEINER VERSTEHT MICH !!!!!
.. nur Andreas
thx genau das was ich benötigte. Jetzt kann ich die FB über mein Webinterface komplett simulieren DANKE !!!!
Gruß
Olli
.. nur Andreas
thx genau das was ich benötigte. Jetzt kann ich die FB über mein Webinterface komplett simulieren DANKE !!!!
Gruß
Olli
Re: Access CCU (Actors & Sensors) via php
Wie fragst Du denn die Geräte nach Ihrem Batteriestatus? Ich finde leider keine Möglichkeit an die Daten heranzukommen... Hast Du mal ein Beispielscript?Christoph hat geschrieben: also bei mir klappt das Script. Ich benutze das um den Batteriestatus div. Geräte abzufragen. Allerdings habi ich das für die IPS modifiziert. daher kann ich jetzt Deine Sachen nicht testen.
Grüße
Sascha
Re: Access CCU (Actors & Sensors) via php
sh. http://homematic-forum.de/forum/viewtop ... 885#p16885, da habe ich das Script reingesetzt.
Ciao, Christoph.