EIB_Scale gibt "Instance does not implement this function" zurück

Servus,

ich möchte per Skript die Lüfterstufe meiner KWL steuern.
Dafür gibt es im KNX eine GA „Ventialtion preset (set)“ mit Datentyp DPT5 (Zählimpuls 0…255) und Schreibrechten.
Diese wurde als Instanz inkl. Variable vom Typ Integer in IPS angelegt

Wenn ich nun mit

EIB_Scale(16350, 1);

die Stufe ändern möchte, bekomme ich den Fehler „Instance does not implement this function“.
EIB_FloatValue oder EIB_Value liefern das selbe Ergebnis.

Wenn ich die Variable direkt ändern möchte, bekomme ich natürlich ein „read only“ zurück.

Per „Variable ändern“ in IPS kann ich die Stufen ändern.

Was mache ich beim Skript falsch?

Danke und Gruß
der gnom

Nimm doch einfach RequestAction auf die Variable. Damit sollte es sehr einfach gehen.

paresy

Servus,

RequestAction(32571, 1);

bringt den Fehler „No valid action available“

Funktioniert das überhaupt ein EIB_Scale auf eine DPT5 Instance zu machen?
Hast du mal KNX_WriteDPT5 ausprobiert?
Ist DPT5 überhaupt der richtige Datentyp?

Das war’s! Danke! Jetzt klappt es.

Der Datentyp wurde vom Gerät so festgelegt:

DPT 5.100 wäre dann aber eigentlich das, was du brauchst. Auch wenn das für die Steuerung keinen Unterschied macht. Aber wenn du es dir mal im Gruppenmonitor ansiehst, erwartest du ja eine Lüfterstufe und keinen Zählimpuls.

Im GM bekomme ich sogar eine Prozentzahl zurück :wink:
Also 0%, 1%, 2% und 3%

Da hat der Hersteller wohl an Schmarrn gmacht

Dann sind vermutlich die Datentypen von Gruppenadresse und Kommunikationsobjekt unterschiedlich. Bin mir gerade nicht sicher, welchen Datentyp der Gruppenmonitor primär für die Interpretation der Werte verwendet.

Letzten Endes aber nur ein Darstellungsproblem und kein funktionales, solange der Basisdatentyp stimmt, was ja offensichtlich der Fall ist. Aber du kannst das ja jederzeit in der ETS korrigieren. Musst ja nicht den Default beibehalten.