Wie Profil für mA erstellen?

Hallo,

ich schicke per KNX Stromwerte in mA (DPT 7.012) zu IPS. In den IPS Profilen kann ich aber nur Ampere auswählen. Da ich aber Werte in keinen mA Bereich habe sehe ich nur Werte im Nachkommabereich. Wie kann ich mir ein Profil für mA erstellen? Wie kann ich generell Messwerte um Faktor 10, 100 oder 1000 mir in IPS anzeigen lassen?
Noch schöner wäre es diese Werte gleich in Watt oder Kilowatt umrechnen zu lassen;)

Grüße

Du legst Dir zunächst eine neue Variable an, welcher Du ein neues Profil zuweist -> Variablenprofile verwenden — IP-Symcon :: Automatisierungssoftware

Dann baust Du unterhalb der Variable ein Script, welches mit GetValue und SetValue den Ursprungswert entsprechend umrechnet und in die neue Variable schreibt. Dann noch ein Event unter das Script, welches auf Variablenänderung der ursprünglichen Variable getriggert ist.

Alternativ kannst Du auch das Script weglassen und direkt ein Event erstellen. Hier kannst Du dann im Code-Fenster des Events die Berechnung und das Setzen des Variablenwertes vornehmen.

Oder einfach das Umrechen-Modul nutzen :slight_smile:
GitHub - symcon/SymconMisc: Symcon Misc Modules
Michael

Hat dein Aktor nur Strommessung oder zusätzlich auch ein KO zur Wirkleistungsmessung?

Wenn du die Leistung aus Strom x 230V ausrechnest, dann ergibt das die Scheinleistung (korrekte Einheit wären VA). Dieser Wert ist für die meisten Verbraucher höher als die Wirkleistung, die dein E-Versorger am Zähler abrechnet. Beispiel Entstörkondensator, da fliesst zwar ein Strom (Scheinleistung > 0) aber Wirkleistung = 0 und damit kein „gezählter“ Verbrauch. Der Unterschied ist bei Geräten im Standby teilweise deutlich.

Nur bei ohm’schen Verbrauchern wie Glühlampen oder elektrischen Heizungen sind Strom und Spannung genau in Phase und Wirkleistung = Scheinleistung.

Hallo,

der Aktor hat ein zusätzliches KO für Wirkleistung, leider nur im KW Bereich der für kleine Verbraucher sicher nicht so genau ist und ebenfalls auf Watt umgerechnet werden müsste. Ob Wirk- oder Scheinleistung angezeigt wird ist erst mal sekundär. Wichtig ist mir nur dass ich es überhaupt hinbekomme mit IPS was umrechnen zu lassen. Mit Skripten kenne ich mich noch überhaupt nicht aus:(

Das Umrechen-Modul hört sich interessant an, leider verstehe ich nur Bahnhof was da drin steht.
Dachte das würde recht einfach über das Profil gehen.

Was müsste ich denn machen wenn ich z.B. folgenden mA Wert in Leistung umrechnen möchte:
EIB_Value(52226, 0);

Denke wenn ich erst mal einen Wert richtig umgerechnet bekomme dann ist der Rest nicht mehr so schwer. Einen KNX Dimmer in IPS einzubinden war auch nicht gerade selbsterklären, hat man dank des Forums aber auch hinbekommen:)

Grüße

Dann fangen wir nochmal bei dem KO für die Strommessung an. Mit DPT 7.012 hatte ich auch Probleme. Bei meinem MDT-Aktor nutze ich dafür DPT 9.021, also einen Fließkommawert.

Der wird in IPS dann als EIS5 eingelesen und du hast mA.

strom2.PNG

Mit dem selbst erstellten Profil wird dann nur noch die Einheit für die Anzeige angehängt, fertig.

Umrechnen ist hierfür nicht erforderlich. Das mit der Leistung darf Nall-chan erklären. :slight_smile:

Hallo volkern, genau so habe ich es momentan auch in IPS eingebunden;) Den MDT Aktor habe ich auch. Fehlt also noch die Umrechnung in Watt.

Was mir noch aufgefallen ist:

Ein Aktor schickt per Datentyp 7.007 die Betriebszeit eines Kanals in Stunden. Auf dem KNX Bus sind es in diesen Beispiel 145 Stunden. IPS zeigt aber 1,45 Stunden an, was ja nicht passt. Wenn ich im Profil Manager die Nachkommastellen weg nehme dann wird nur 1 Stunde angezeigt. Was mache ich da falsch?

Ich vermute, daß es das gleiche Problem ist wie oben: ein Vermischen von KNX Float und Integer-Datentypen. In dem Fall weicht der Zahlenwert um einige Zehnerpotenzen ab.

DPT7 ist ein 2-byte Integer ohne Vorzeichen (0-65535)
Gemäß EIB/KNX — IP-Symcon :: Automatisierungssoftware wäre das in IPS der Datentyp EIS 10. Du hast vermutlich EIS5 (Float) eingestellt, was hier nicht passt.

Danke, daran hat es gelegen:)
Schade das IPS EIS Datentypen verwendet und nicht DPT, jetzt muss man immer in die Liste schauen was DPT in EIS ist:(

Wäre noch super wenn ich die Sache mit der Umrechnung von mA in Watt hinbekommen würde;)

Grüße

@paresy: Sollte das nicht mal geändert werden? Ich meine EIS zu DPT?
Wäre mal an der Zeit finde ich.
Gruß,
Peter

Gesendet von iPhone mit Tapatalk

Ja und nein. :o

IPS liest anstelle der .knxproj Projektdatei immer noch das alte OPC-Exportformat (.esf), das mit EIS anstatt DPT arbeitet. Insoweit sind die EIS konsequent, weil alles auf alten Formaten basiert. Bei einer Modernisierung des KNX-Import könnte man das konsequent umstellen.

@paresy: Kurzfristig wäre mein Vorschlag, die DPT ergänzend in der Dropdownliste hinzuzufügen, also EIS wie bisher sowie zusätzlich die entsprechende DPT-Kategorie (wie DPT 9.x) als ergänzende Info. Das würde die manuelle Zuordnung vereinfachen.

dropdown.PNG

Ich versuch’s mal.

Die diversen SELF und VALUE und TARGET und SENDER usw. waren mit bisher auch unklar, weil in der Hilfe zwar Syntaxbeispiele zu finden sind, aber keine Anwendungsbeispiele. Nun habe ich deine Frage zum Anlass genommen, mich endlich mal damit zu beschäftigen. Das Ergebnis scheint jedenfalls zu funktionieren.

~~

Also starten wir von einem KNX „Gerät“, das den Strom in mA liefert, im Screenshot ID27034.

Unterhalb dieses „Gerätes“ habe ich händisch eine weitere Variable angelegt vom Typ Float, die den Leistungswert aufnehmen soll, ID 13888.

Nun habe ich mit Objekt hinzufügen > Ereignis hinzufügen ein Ereignis erzeugt, das immer bei Aktualisierung des Stromwertes (ID 27034) aktiv wird.

pwr2.PNG

Das Ereignis soll den Stromwert berechnen und die Variable setzen. Bisher hatte an der Stelle einfach mit den IDs gearbeitet, aber nun versuchen wir’s mit TARGET und VALUE.

TARGET hier die Variable, die wir ändern wollen und die im Dialogfeld als „Ziel“ ausgewählt wurde.
VALUE ist der auslösenden Wert, den wir auf Änderung abgeprüft hatten, also unser Strom in mA.

Der Code lautet also:
SetValue($_IPS[‚TARGET‘], $_IPS[‚VALUE‘]*230/1000);

Strom ist in mA, also umrechnen nach Ampere (geteilt durch 1000) und mit 230 multiplizieren, dann haben wir die Leistung. Die Einheit (W) beschriften kann man wie üblich per Profil.

pwr3.PNG

Hi Volkern,

vielen Dank für die Beschreibung. Ich habe es getestet und es Funktioniert einwandfrei.

Gruß Stephan

Hallo Volkern,

nun funktioniert es bei mir auch, besten Dank für deine Hilfe! Für mich als Anfänger sind Screenshots und praktische Beispiele sehr hilfreich;)

Ich glaube hier ist es auch erläutert, für mich aber nicht umsetzbar da die Grundkenntnisse leider noch fehlen:
Variablen umrechnen (Version 2.1 Feature)

Nach und nach wird’s sicher einfacher;)

Ich denke, es liegt nicht an deinen Grundkenntnissen, sondern die Beschreibung ist irreführend. Die Bezeichnung „Variable ändern“ und entsprechende Dialogbezeichnungen führen in die falsche Richtung. Wir wollen (jedenfalls für unsere Aufgabenstellung) nicht eine Variable ändern, sondern den Wert einer neuen zweiten Variablen aus dem Eingangswert berechnen.

pwr4.PNG

Paresy schreibt in seinem Beitrag „… auf den neuen Wert ($_IPS[‚VALUE‘])“ und das finde ich eher verwirrend als hilfreich. VALUE ist doch der Wert der auslösenden Variable und nicht der zu berechnende Wert der neuen Variable? Oder ist das Beispiel von paresy so gedacht, daß man den neuen Wert wirklich auf dieselbe Variable zurückschreibt? :eek:

Viele Grüße
Volker

Nein, das Ziel des Ereignisses ist ja die neue Variable, also ist die Beschreibung schon korrekt :slight_smile:
Michael

Na dann wäre die Beschreibung eben irreführend, denn VALUE liefert mir den auslösenden Wert, den ich als Berechnungsbasis brauche. Und nicht den neuen Wert, den ich mit dem Rechenergebnis beschrieben möchte.

Wenn man nur den halben Satz zitiert…

Michael

Ach Michael … meine Firma macht seit 20 Jahren Software (Designautomation), die von Kunden wie Intel, Philips oder SpaceX verwendet wird. Etwas Ahnung zum Thema verständliche Softwaredoku darfst du mir also zutrauen.

Vielleicht sollte man „neu“ hier vermeiden, weil es offensichtlich missverständlich ist (neuer Wert auf Eingangsvariable vs. Wert der neuen Variable).