HomeMatic CCU2 bei ELV bestellen

CUxD SystemDevice mit HTTP-Call per wget?

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Werbung


CUxD SystemDevice mit HTTP-Call per wget?

Beitragvon theshmike » 14.01.2018, 20:04

Hallo zusammen,

ich habe mir mit einem Raspberry für den TV Ambilight gebastelt, welches ich per Webserver auf dem PI aus- und einschalten kann.
Das funktioniert mit

Code: Alles auswählen
http://pi/ambilight.pl?action=off
http://pi/ambilight.pl?action=on
http://pi/ambilight.pl?action=status


Ich würde das Ambilight nun gerne in HM einbinden, damit ich per "Alle-Lampen-aus"-Funktion auch das Ambilight erwische.
Mein erster Ansatz war nun ein System-Gerät (EXEC, Schalter) per CUxD zu erzeugen und habe dabei das Problem, dass es das Gerät einfach nicht tut. So wie ich das verstehe, müsste ich z.B. im Kanal unter CMD|SHORT eintragen:

Code: Alles auswählen
wget http://pi/ambilight.pl?action=off


Das nimmt er allerdings schon gar nicht. Er meint er hätte alles fein ans Gerät übertragen, aber beim nächsten Aufruf der Einstellungen ist das Feld wieder leer.

Habe ich irgendwo einen Denkfehler?

Ein zweiter Gedanke ist noch: Kann CUxD eigentlich den aktuellen Status des Geräts auch per Abfrage "?action=status" abfragen?
Ich könnte das Ambilight ja z.B. per HM ein, und per Handfernbedienung des PI wieder ausschalten. In diesem Fall würde HM das Gerät ja immer noch als "AN" mitführen.

Für ein paar Tipps wäre ich sehr dankbar :)
theshmike
 
Beiträge: 14
Registriert: 12.01.2018, 12:54

Re: CUxD SystemDevice mit HTTP-Call per wget?

Beitragvon uwe111 » 15.01.2018, 09:24

theshmike hat geschrieben:Das nimmt er allerdings schon gar nicht. Er meint er hätte alles fein ans Gerät übertragen, aber beim nächsten Aufruf der Einstellungen ist das Feld wieder leer.

Habe ich irgendwo einen Denkfehler?

Schau Dir mal die Tabelle mit den Sonderzeichen in der CUxD-Doku Kapitel 5.8 an. Das = Zeichen musst Du ersetzen!

theshmike hat geschrieben:Ein zweiter Gedanke ist noch: Kann CUxD eigentlich den aktuellen Status des Geräts auch per Abfrage "?action=status" abfragen?

Ja, die Möglichkeit besteht mittels periodischer Abfrage über ein eigenes Script (CMD_TIMER Geräteparameter). Das Script für die Abfrage und Verabreitung des Rückgabewertes kannst Du frei entwickeln.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.0.1, RFD-Monitor, Vellemann K8055, SSH KeyDir
Benutzeravatar
uwe111
 
Beiträge: 3562
Registriert: 26.02.2011, 23:22

Re: CUxD SystemDevice mit HTTP-Call per wget?

Beitragvon theshmike » 15.01.2018, 09:54

Ja, die Möglichkeit besteht mittels periodischer Abfrage über ein eigenes Script (CMD_TIMER Geräteparameter). Das Script für die Abfrage und Verabreitung des Rückgabewertes kannst Du frei entwickeln.


Ah, das hilft mir schonmal weiter, danke!
Gibt es evtl. irgendwo ein Beispiel, aus welchem ersichtlich ist, welche Werte das Script für an/aus zurückgeben muss?
Ich bin ja als Informatiker nun wirklich nicht ganz unbedarft, aber in diesem Punkt werde ich aus dem CUxD-Handbuch nicht ganz schlau ;)

Viele Grüße,
Mike
theshmike
 
Beiträge: 14
Registriert: 12.01.2018, 12:54

Re: CUxD SystemDevice mit HTTP-Call per wget?

Beitragvon uwe111 » 15.01.2018, 12:51

Hallo Mike,

theshmike hat geschrieben:Gibt es evtl. irgendwo ein Beispiel, aus welchem ersichtlich ist, welche Werte das Script für an/aus zurückgeben muss?

Das Script wird periodisch aufgerufen und könnte dann per HM-Script beliebige Werte auf der CCU ändern.
Ich denke, dass die Fritzbox-Scripts viewtopic.php?f=37&t=27994 das nutzen.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.0.1, RFD-Monitor, Vellemann K8055, SSH KeyDir
Benutzeravatar
uwe111
 
Beiträge: 3562
Registriert: 26.02.2011, 23:22

Re: CUxD SystemDevice mit HTTP-Call per wget?

Beitragvon theshmike » 15.01.2018, 15:33

Ah okay, jetzt verstehe ich das! D.h. ich schreibe ein Skript, welches ggf. auch die Stati mehrerer virtueller Geräte prüft und dann per .State() o.Ä. den Status der jeweiligen Geräte selbst ändert.
Dachte bisher, das Skript muss in irgendeinem vorgegebenem Format Rückgabewerte an den Aufrufer ausgeben.

Macht Sinn, werde ich mich mal dransetzen, danke! :D
theshmike
 
Beiträge: 14
Registriert: 12.01.2018, 12:54


Zurück zu CUxD

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.