Logik Invertieren von Werten

Heute zeige ich Euch ein Beispiel aus der Praxis. Und zwar das Invertieren von Werten im Homeserver. Nun, warum braucht man so was? Vorausgegangen war der Kauf einer Sprachsteuerung von Thinka vor ein paar Jahren. Hier war es das Ziel, das Haus per Sprache zu steuern...was auch gut funktionert. Das Thinka, ein Gerät für den Schaltschrank, wandelt Sprache in Befehle um, die man im Thinka dann zur Aktorensteuerung benutzt. Ebenso versteht sich das Thinka als Gateway von der Apple Welt (Apple Homekit) zu KNX. Das Blöde bei der ganzen Geschichte ist die Tatsache, das in Amerika eine andere Interpretation von Werten vorherrscht. 

Das heißt, ist zum Beispiel eine Jalousie bei uns komplett geschlossen (komplette Beschattung), so ist das für uns der Wert 100% für den Behang und 100% für die Lamelle.

 

Bei den Amis ist es genau andersrum (O.M.G.)!

 

Jetzt hat man halt das Dilemma, das die Aktoren den Wert nicht umdrehen können. Modernere Aktoren oder auch Sensoren geben zwar manchmal einen invertierten Wert aus, jedoch nützt mir das und vielen anderen nicht, die entweder ältere Geräte haben, oder der Hersteller es einfach nicht anbietet.



Lösung

Im untenstehenden Beispiel zeige ich Euch nun die Lösung. Diese sollte eigentlich auch in Homeassistant oder anderen Logikeditoren gehen. Ich beschränke mich hier allerdings auf den Homeserver.

 

Zuerst legt Ihr mal ein Logikblatt an. Wählt hierfür die größte Blattgröße. Für meine Spielerei benenne ich das Logikblatt, im entsprechenden Unterordner Beschattung, mit den Namen Ansteuerung OG.

 

Bei der Anlage der Eingangs und Ausgangsboxen wähle ich je Fenster eine Eingangs und Ausgangsbox.

 

 

Nun lege ich interne KO's für die Beschattung des Fensters an. Eines für den Behang und eines für die Lamellenstellung. Hier muss der Wert auf 8 Bit 0-100% DPT 5.001 eingestellt werden.

 

Nach der Anlage der Werte übernehmen wie Sie in die erste Eingangsbox auf dem Logikblatt.

 

Das Endergebnis sieht wie folgt aus:


Nun zieht Ihr aus dem Elemente Feld links, wo die Logikbausteine sind, den Logikbaustein "Kurvenfunktion mit 2 Punkten" aus dem Ordner Mathematische Funktionen  2 mal auf das Arbeitsblatt und arragiert es ein wenig.

 

Im Anschluss trägt Ihr je Logikbaustein in den Eingängen 3 und 4 den festen Wert 100 ein.

Anschließend verbindet Ihr von der Eingangsbox je einen Wert mit dem ersten Eingang von Logikbaustein 1. Also Wert 1 zu Logikbaustein Eins Eingangsfeld 1 und Wert 2 zu Logikbaustein Zwei Eingangsfeld 1.

 

Dann müsste es wie im letzten Bild aussehen.


Nun verbindet Ihr je Logikbaustein den Ausgang mit dem entsprechenden externen Kommunikationsobjekt, also dem KNX Kommunikationsobjekt. Verfahrt mit den Rückmeldungen umgekehrt. Nimmt die Rückmeldung, die Euch Euer Aktor ausgibt in eine Eingangsbox, benutzt die Logikbausteine wie im vorigen Beispiel und legt in eine neue Ausgangsbox die Verknüpfung auf neue Ausgangsobjekte (8 Bit 0-100%).

Untenstehendes Bild zeigt Euch dann, wie das ganze ausschaut. Wenn Ihr das durchgeführt habt, könnt Ihr die Eingangsobjekte der ersten Logik dazu benutzen, diese in Eure Tinka Sprachsteuerung einzutragen. Die Ausgangsobjekte der zweiten Logik könnt Ihr dann als Rückmeldung für das Tinka eintragen und habt so die exakten Werte für die Homekit Visu, die Ihr ja dazu bekommt. 


Das Problem mit den exakten Rückmeldungen hatte ich zuerst bei den Jalousien, und dann auch noch bei der Ansteuerung meines Hörmann Moduls der Torsteuerung. Ihr seht, man braucht nicht für alle Dinge immer direkt einen angepassten Logikbaustein. Mit ein wenig Hirnschmalz geht das auch ohne. Wenn Ihr für alle Fenster / Beschattungen so was macht, werden die Blätter natürlich groß.

Also plant ein wenig durch, mit etwas Struktur. Grade bei den Jalousien kommt man schnell mit den Werten durcheinander. Ihr könnt die Blätter auch kopieren, und die Werte dann austauschen / neu anlegen. 

 

Ich hoffe, Euch hat dieser kleine Exkurs gefallen. Teilen ist ausdrücklich erlaubt ;-)