CUXD Parameter eines Gerätes per Script ändern ?

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

Moderator: Co-Administratoren

Benutzeravatar
uwe111
Beiträge: 4820
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: CUXD Parameter eines Gerätes per Script ändern ?

Beitrag von uwe111 » 18.11.2020, 14:51

Matten Matten hat geschrieben:
17.11.2020, 12:59
mein Code sieht wie folgt aus:

Code: Alles auswählen

object i1 = dom.GetObject("CUxD");
xmlrpc.PutParamset(i1,"CUX2801016:1","SWITCH","CMD_SHORT","/usr/local/addons/cuxd/curl -s http://192.168.178.30/cm?cmnd=Power1%20false");
Ich denke, da fehlen die Hochkommas um den String-Wert:

Code: Alles auswählen

object i1 = dom.GetObject("CUxD");
xmlrpc.PutParamset(i1,"CUX2801016:1","SWITCH","CMD_SHORT","'/usr/local/addons/cuxd/curl -s http://192.168.178.30/cm?cmnd=Power1%20false'");
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.11, SSH KeyDir

Matten Matten
Beiträge: 286
Registriert: 09.12.2018, 17:14
System: CCU
Hat sich bedankt: 69 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

Re: CUXD Parameter eines Gerätes per Script ändern ?

Beitrag von Matten Matten » 18.11.2020, 15:14

Ah super Danke für deine fixe Antwort!
Zahlen wurden prompt gesetzt aber eben String Werte nicht.
Jetzt wo du es schreibst, hätte ich auch selbst drauf kommen können! :oops:

Andere kurze Frage kann ich auch via Script ein cuxd device anlegen? Und von vornherein device Name und die Kanalnamen setzen so wie den cmd Wert?

Hintergrund:
Ich bin gerade dabei ein Script zu schreiben das eine tasmota Steckdose spielend einfach einbindet,
was am liebsten ein cuxdevice anlegt und automatisch bezeichnet ist so wie den cmd Aufruf füllt und Kontakt zur tasmota WiFi Steckdosen device aufnimmt und Rules an diese sendet und aktiviert.sowie System variablen automatisch anlegt und mit diesem device verknüpft.(bei Leistungsmessung).

Oder gibt's da sogar ein direktes cuxdeamon device?

Gruß
Matten Matten

Matten Matten
Beiträge: 286
Registriert: 09.12.2018, 17:14
System: CCU
Hat sich bedankt: 69 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

Re: CUXD Parameter eines Gerätes per Script ändern ?

Beitrag von Matten Matten » 18.11.2020, 16:02

uwe111 hat geschrieben:
18.11.2020, 14:51

Ich denke, da fehlen die Hochkommas um den String-Wert:

Code: Alles auswählen

object i1 = dom.GetObject("CUxD");
xmlrpc.PutParamset(i1,"CUX2801016:1","SWITCH","CMD_SHORT","'/usr/local/addons/cuxd/curl -s http://192.168.178.30/cm?cmnd=Power1%20false'");
Viele Grüße

Uwe
Hallo Uwe,

leider will auch das nicht klappen :( Ich könnte verzweifeln... Das Skript wird bis zum ende ausgeführt, jedoch wirds nicht gesetzt. Zahlen klappen prompt.

Habe Raspimatic v.3.53.30.20201024

EDIT:

so klappts:

Code: Alles auswählen

object i1 = dom.GetObject("CUxD");
xmlrpc.PutParamset(i1,"CUX2801016:1","SWITCH","CMD_SHORT",'"/usr/local/addons/cuxd/curl -s http://192.168.178.30/cm?cmnd=Power1%20false"');
lediglich die Anführungszeichen gedreht. :D

Gruß
Matten Matten

Benutzeravatar
uwe111
Beiträge: 4820
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: CUXD Parameter eines Gerätes per Script ändern ?

Beitrag von uwe111 » 19.11.2020, 09:23

Matten Matten hat geschrieben:
18.11.2020, 15:14
Andere kurze Frage kann ich auch via Script ein cuxd device anlegen? Und von vornherein device Name und die Kanalnamen setzen so wie den cmd Wert?
Du kannst per URL Aufruf ein CUxD Device anlegen und auch gleich mit bestimmten Parametern füllen. Das sollte funktionieren.

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.11, SSH KeyDir

Matten Matten
Beiträge: 286
Registriert: 09.12.2018, 17:14
System: CCU
Hat sich bedankt: 69 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

Re: CUXD Parameter eines Gerätes per Script ändern ?

Beitrag von Matten Matten » 19.11.2020, 13:18

OK, gibt es dafür Dokumentation?
Habe bisher nix gefunden.

Gruß
Matten Matten

Benutzeravatar
uwe111
Beiträge: 4820
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: CUXD Parameter eines Gerätes per Script ändern ?

Beitrag von uwe111 » 19.11.2020, 17:20

Matten Matten hat geschrieben:
19.11.2020, 13:18
OK, gibt es dafür Dokumentation?
Nein.

Hier ein Beispiel mit kurzer Beschreibung, das funktionieren sollte:

Code: Alles auswählen

 http://homematic_ccu/addons/cuxd/index.ccc?sid=&m=3 => POST dtype=28&dtype2=1&dserial=123&dname=EXEC_NAME&dbase=HM-RC-19&CHANNELS=5
HTTP-POST Parameter:
- CHANNELS = CHANNELS Parameter
- MODE = RGBW-Mode Parameter
- dbase = muss einen existierenden HM-Gerätetyp als String enthalten
- dtype=28 = Gerätetyp 28
- dtype2=1 = System.Exec
- dserial = 3stellige Seriennummer
- dname = Gerätename auf der CCU

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.11, SSH KeyDir

Matten Matten
Beiträge: 286
Registriert: 09.12.2018, 17:14
System: CCU
Hat sich bedankt: 69 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

Re: CUXD Parameter eines Gerätes per Script ändern ?

Beitrag von Matten Matten » 19.11.2020, 17:30

Super vielen Dank! Das werde ich Testen.

Die dserial kann ich das auch frei lassen oder 000 und sie wird automatisch vergeben, oder muss ich vorher via Script die ccu device Datenbank auslesen und dann eine "dranhängen"?

Vielen Dank
Gruß Matten Matten

Benutzeravatar
uwe111
Beiträge: 4820
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: CUXD Parameter eines Gerätes per Script ändern ?

Beitrag von uwe111 » 19.11.2020, 18:27

Matten Matten hat geschrieben:
19.11.2020, 17:30
Die dserial kann ich das auch frei lassen oder 000 und sie wird automatisch vergeben, oder muss ich vorher via Script die ccu device Datenbank auslesen und dann eine "dranhängen"?
Die dserial muss gesetzt und gültig sein. Eine Automatik gibt's da nicht.

Du könntest aber auch einfach die vorgeschlagene freie Nummer aus dem html nach dieser Abfrage parsen:

Code: Alles auswählen

http://homematic_ccu/addons/cuxd/index.ccc?sid=&m=228&dtype2=1
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.11, SSH KeyDir

tomyk1611
Beiträge: 3
Registriert: 17.12.2020, 11:28
System: CCU

Re: CUXD Parameter eines Gerätes per Script ändern ?

Beitrag von tomyk1611 » 17.12.2020, 11:39

Hallo,
ich bin neu hier und hoffe ich mache jetzt keinen Einsteiger bzw. Neuling Fehler.
Ich habe ein ähnliches Problem und finde denn Fehler nicht.

string svCh04 = "4";
string svPing = "CUX2803001";
string IP04 = "111.222.333.444";
object svObj = dom.GetObject("CUxD");

xmlrpc.PutParamset(svObj,""#svPing#":"#svCh04#"","SWITCH","IP_DNS_ADR",""#IP04#""); <<Diese variante geht nicht

xmlrpc.PutParamset(svObj,""#svPing#":"#svCh04#"","SWITCH","IP_DNS_ADR","111.222.333.444"); <<Diese variante geht

Irgend wie klappt das mit der IP Adresse als string nicht.
Habe auch schon alle Variationen mit Hochkomma probiert.
Würde mich über Eure Hilfe freuen.

Benutzeravatar
uwe111
Beiträge: 4820
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: CUXD Parameter eines Gerätes per Script ändern ?

Beitrag von uwe111 » 17.12.2020, 12:00

tomyk1611 hat geschrieben:
17.12.2020, 11:39
Irgend wie klappt das mit der IP Adresse als string nicht.
Weiter oben stand doch bereits, wie es gehen sollte:

Code: Alles auswählen

xmlrpc.PutParamset(svObj,svPing#":"#svCh04,"SWITCH","IP_DNS_ADR",'"111.222.333.444"');
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.11, SSH KeyDir

Antworten

Zurück zu „CUxD“