atmel
3. Januar 2012 um 17:27
1
Hallo.
Über die SOAP erzeuge ich in meinem Script Temp variable für ein LCN Module.
$soap = new SoapClient(„http://127.0.0.1:3773/wsdl/IIPSLCNValue “);
$soap->__setSoapHeaders(new SOAPHeader(„urn:UIPSModuleTypes“, ‚TIDHeader‘, array(‚ID‘ => 17652)));
$soap->SetValues(Array(„lvTValue“, „lvR1Value“, „lvR1Target“, „lvR2Value“, „lvR2Target“));
Wollte jetzt gerne noch den Typ verändern nach „Zähler“.
Mit
"$soap->SetValueType(Array(„ttCounter“)); "
geht es leider nicht.
Habt Ihr einen Tip für mich wie ich den Typ verändern kann?
Danke.
paresy
3. Januar 2012 um 18:14
2
Benutz doch die LCN_SetValueType Funktion
paresy
atmel
4. Januar 2012 um 09:38
3
Danke.
Nur leider finde ich keine doko dazu.
Kannst Du mir noch sagen welche Parameter übergeben werden sollen?
Danke.
paresy
4. Januar 2012 um 11:23
4
Nein. Die Funktion ist bewusst undokumentiert
Aber STRG-Space im Editor oder das SDK helfen da meisten
paresy
atmel
4. Januar 2012 um 12:10
5
Sorry nochmal ich.
IPS_SetValueType findet IPS nicht mit STRG-Space!
Meintest Du evtl LCN_SetValueType? Das wird gefunden.
Danke.
atmel
27. Februar 2013 um 09:18
8
Hallo.
Bisher habe ich LCN Temp variablen in einer LCN Modul Instanz über die SOAP erzeugt:
$soap = new SoapClient(„http://127.0.0.1:3773/wsdl/IIPSLCNValue “);
$soap->__setSoapHeaders(new SOAPHeader(„urn:UIPSModuleTypes“, ‚TIDHeader‘, array(‚ID‘ => 17652)));
$soap->SetValues(Array(„lvTValue“, „lvR1Value“, „lvR1Target“, „lvR2Value“, „lvR2Target“));
Das funktioniert ab IPS Version 2.7 leider nicht mehr.
Kann mir Bitte jemand sagen wie ich die Variablen („lvR1Value“, „lvR1Target“, „lvR2Value“, „lvR2Target“) über eine IPS funktion erzeugen kann?
Vielen Dank.
BYE
Tomi
paresy
5. März 2013 um 13:28
9
0 = TValue
1 = R1Value
2 = R1Target
3 = R2Value
4 = R2Target
5 = TargetShift
//Keine Variablen
IPS_SetProperty("ValueTypes", "[]");
//Variablen für TValue und TargetShift
IPS_SetProperty("ValueTypes", "[0, 5]");
Wichtig ist hierbei dass das JSON Array als String übergeben wird. Praktisch ist auch das möglich:
IPS_SetProperty("ValueTypes", json_encode(Array(0, 5)));
paresy
atmel
6. März 2013 um 15:55
10
Hallo.
Danke. Habe Deine Beispiel versucht, bekomme aber immer „Warning: Wrong parameter count for IPS_SetProperty()“.
Eine weite Frage ist wie ich die Modul ID mitgebe für die ich die Variablen erzeugen möchte?
BYE
Thomas
atmel
6. März 2013 um 15:59
11
Hallo.
Sorry, habe ich gefunden.
IPS_SetProperty($id, „ValueTypes“, „[1, 2]“);
Das funktioniert.
DANKE!!!