ich habe ein KNX 0-10V Ausgang mit dem ich meine Belüftungsanlage steuern möchte.
0% ergeben 0V am Ausgang, die eingestellte Belüftungsstufe beträgt dann 50m³/h.
100% ergeben 10V am Ausgang, die eingestellte Belüftungsstufe beträgt dann 250m³/h.
Mit einem Intensity.100 bekomme ich den Slider in der Visu und kann mit dem Balken die Stufe 0-100% vorgeben, was eine Lüftungsstufe zwischen 50 und 250m³/h ergibt.
Da ich aber nicht Prozent in m³/h im Kopf umrechnen möchte würde ich gerne den Wert zwischen 50 und 250 in der Visu angezeigt bekommen. Wie kann ich in IPS ein Profil erstellen mit den ich die Werte 50-250 angezeigt bekomme, aber Werte von 0-100% auf den Bus geschickt werden?
Danke für die Antworten. Verstehe aber nicht so richtig was damit gemeint ist. Mit Umrechnungen oder Skripten kenne ich mich noch nicht so gut aus. Muss die Umrechnung denn in einen Skript erfolgen oder kann man dass in einen Profil hinbekommen?
Im Screenshot sieht man den Balken mit 50%, da sollten jetzt ja 150m³ stehen.
Bei den Value habe ich nur eine 0 und keine Möglichkeit den Wert zu verändern.
gibt es eine Beschreibung wie ich die Werte umrechnen kann? Ich bekomme folgende Formel als Vorlage:
$Value/10*sin(30)*pi()
Damit kann ich momentan nicht viel anfangen.
$value liefert den Eingabewert der Berechnung. Was ich gerade nicht weiß: ist der im Wertebereich 0-1 oder 0-100?
Umgesetzt auf deine Rechnung lautet der Code also:
ich kann wohl halbwegs nachvollziehen was in den Skript steht, würde aber selber nie drauf kommen da ich von PHP noch kein Plan habe:/ (bin noch IPS Anfänger)
Jetzt mal eine Frage zum Skript: wie verknüpfe ich nun meinen Wert mit den Skript?
Erklär nochmal, was du im Webfront einstellen möchtest (Bedienung), in welcher Darstellung.
Momentan ist dein Bedienelement im Webfront der Wert, der genau so auch auf den Bus geht. Und die 50-250m3 sind ein Zusatzinfo im Webfront, ohne Auswirkung auf den Bus.
Die Lüfterstufe unserer Belüftungsanlage wird per 0-10V Signal gesteuert. In der Anlage ist ein Arbeitsbereich von 50m³/h (0V) bis 250m³/h (10V) eingestellt .
Diesen Bereich kann ich ja mit IPS schon per EIS6 0-100% ansteuern und bekomme den Wert als Rückmeldung auch vom Bus zurück.
Da mich als User nicht die Prozente interessieren sondern die Luftmenge, wollte ich den Anzeigebereich von 0-100 auf 50-250 ändern.
Eine reine Anzeige hast du ja nun, das ist deine Variable „umgerechnet“ im Screenshot.
Möchtest du anstelle des 0-100% Schiebers (aus der KNX-Instanz) einen 50-500m3 Schieber im Webfront, der das in 0-100% umrechnet und auf den Bus schickt? Falls ja: Bedienung nur von IPS aus über den Volumen-Schieber, oder auch von anderswo über die 0-100%?
Gut, das ist doch eine ganz andere Aufgabenstellung und man muß es anders angehen. In dem Fall brauchen wir erstmal das Bedienelement für das Volumen. Dazu braucht es ein passendes Profil und es muß eine Aktion zugewiesen sein, mit der der Wert gesetzt wird.
Für die Aktion nutze ich bei solchen selbstdefinierten Variablen ein Wert-setzen-Script
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
Als Profil habe ich dieses genutzt, allerdings gibt’s dann keinen Schieberegler sondern nur unterschiedliche Werte zur Auswahl:
Damit kann man den Wert für das Volumen schon mal einstellen. Nun muss man noch den Wert umrechnen von m3 nach 0-100% und das Ergebnis per EIB_Scale() auf die Instanz der 0-10V GA senden. Versuch es mal selbst, das schaffst du mit den vorhandenen Infos!
Den 0-100% Schieber der KNX GA kannst du dann ausblenden (Häkchen bei „Objekt anzeigen“ entfernen)
Da wird’s komplizierter: In dem Fall hast du zwei Quellen für Wertänderungen, entweder vom Webfront über das Volumen oder vom Bus über die 0-100% GA. Für letztere brauchst du also Code, der beide Datenquellen unterscheiden kann und den jeweils anderen Wert berechnet und passend setzt, aber ohne dabei eine Endlosschleife zu bauen, in der sich die zwei Werte immer wieder gegenseitig aktualisieren.
Das Thema überlasse ich den IPS-PHP-Spezis, da stecke ich nicht tief genug drin.
Ich habe jetzt eine weitere Instanz (EIS6) für die Bedienung hinzugefügt. Als Variable habe ich einen Integer und diesen mit einem Profil versehen.
Im Webfront bekomme ich nun die Lüfterstufen zur Auswahl.
Irgend etwas stimmt mit einer Einstellung noch nicht. Wenn ich eine Lüfterstufe auswähle kommt eine Fehlermeldung (Screenshot).
Ich hoffe dass ich bis hierhin alles soweit richtig habe;)
Die späteren Sollwertvorgaben werden einfach auf den Bus geschickt, diese werden dann einfach in der Anzeige übernommen. Das Funktioniert schon mal.