LCN Temperatur Typ

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.

Benutz doch die LCN_SetValueType Funktion :slight_smile:

paresy

Danke.

Nur leider finde ich keine doko dazu.
Kannst Du mir noch sagen welche Parameter übergeben werden sollen?

Danke.

Nein. Die Funktion ist bewusst undokumentiert :wink:

Aber STRG-Space im Editor oder das SDK helfen da meisten :slight_smile:

paresy

Sorry nochmal ich.

IPS_SetValueType findet IPS nicht mit STRG-Space!

Meintest Du evtl LCN_SetValueType? Das wird gefunden.

Danke.

Ähm ja. Natürlich :slight_smile:

paresy

Danke!!!

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


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

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

Hallo.

Sorry, habe ich gefunden.

IPS_SetProperty($id, „ValueTypes“, „[1, 2]“);

Das funktioniert.

DANKE!!!