FHEM Forum

FHEM - Hausautomations-Systeme => KNX/EIB => Thema gestartet von: jewuma am 13 September 2017, 14:29:08

Titel: Unterpunkte zu dpt1
Beitrag von: jewuma am 13 September 2017, 14:29:08
Hallo KNX-Maintainer,

ich habe ein paar Unterpunkte zu dpt1 im Modul 10_KNX ergänzt. Entsprechendes diff füge ich an.
Die Rückkonvertierung der Texte z.B. open/closed zu 0/1 leuchtet mir nicht so richtig ein, deshalb habe ich sie bei meinem Patch weggelassen.
Funktionieren tut es m.E. auch so. Wenn die Rückkonvertierung nötig ist, dann kann ich diese auch gerne noch einfügen.

Gruß

Jens


--- 10_KNX.pm   2017-09-13 13:48:41.258954611 +0200
+++ 10_KNXb.pm  2017-09-13 13:43:07.493338928 +0200
@@ -94,10 +94,25 @@
        "dpt1.001"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/([oO][nN])|([oO][fF][fF])|(0?1)|(0?0)/, MIN=>"off", MAX=>"on"},
        "dpt1.002"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/([tT][rR][uU][eE])|([fF][aA][lL][sS][eE])|(0?1)|(0?0)/, MIN=>"false", MAX=>"true"},
        "dpt1.003"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(([eE][nN]|[dD][iI][sS])[aA][bB][lL][eE])|(0?1)|(0?0)/, MIN=>"disable", MAX=>"enable"},
+       "dpt1.004"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"no ramp", MAX=>"ramp"},
+       "dpt1.005"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"no alarm", MAX=>"alarm"},
+       "dpt1.006"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"low", MAX=>"high"},
+       "dpt1.007"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"decrease", MAX=>"increase"},
        "dpt1.008"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/([uU][pP])|([dD][oO][wW][nN])|(0?1)|(0?0)/, MIN=>"up", MAX=>"down"},
        "dpt1.009"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/([cC][lL][oO][sS][eE][dD])|([oO][pP][eE][nN])|(0?1)|(0?0)/, MIN=>"open", MAX=>"closed"},
        "dpt1.010"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/([sS][tT][aA][rR][tT])|([sS][tT][oO][pP])|(0?1)|(0?0)/, MIN=>"stop", MAX=>"start"},
+       "dpt1.011"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"inactive", MAX=>"active"},
+       "dpt1.012"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"not inverted", MAX=>"inverted"},
+       "dpt1.013"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"start/stop", MAX=>"cyclically"},
+       "dpt1.014"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"fixed", MAX=>"calculated"},
+       "dpt1.015"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"no action", MAX=>"reset"},
+       "dpt1.016"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"no action", MAX=>"acknowledge"},
+       "dpt1.017"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"trigger", MAX=>"trigger"},
+       "dpt1.018"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"not occupied", MAX=>"occupied"},
        "dpt1.019"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/([cC][lL][oO][sS][eE][dD])|([oO][pP][eE][nN])|(0?1)|(0?0)/, MIN=>"closed", MAX=>"open"},
+       "dpt1.021"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"logical or", MAX=>"logical and"},
+       "dpt1.022"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"scene A", MAX=>"scene B"},
+       "dpt1.023"              => {CODE=>"dpt1", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/(0?1)|(0?0)/, MIN=>"move up/down", MAX=>"move and step mode"},

        #Step value (two-bit)
        "dpt2"                  => {CODE=>"dpt2", UNIT=>"", FACTOR=>undef, OFFSET=>undef, PATTERN=>qr/([oO][nN])|([oO][fF][fF])|([fF][oO][rR][cC][eE][oO][nN])|([fF][oO][rR][cC][eE][oO][fF][fF])/, MIN=>undef, MAX=>undef},

Titel: Antw:Unterpunkte zu dpt1
Beitrag von: JoeALLb am 27 September 2017, 10:51:44
Danke, dpt1.021 habe ich gerade gesucht ;-)
Werds testen!
Titel: Antw:Unterpunkte zu dpt1
Beitrag von: lammy am 15 Juli 2019, 09:32:34
Hi,

mir ist aufgefallen, dass z.b. bei dpt1.005 Alarm im Webinterface das Auswahlmenü nicht korrekt funktioniert. Es wird nicht "no Alarm" und "Alarm" angeboten sondern nur "alarm" zusätzlich gibt es einen weiteren Parameter Alarm,Alarm.

Kannst du das Fixen?

VG
Titel: Antw:Unterpunkte zu dpt1
Beitrag von: jewuma am 16 Juli 2019, 12:24:26
Ich hätte da einen Workaround-Vorshclag:
--- 10_KNX.pm   2019-07-16 11:50:29.533117733 +0200
+++ KNX.bak     2019-07-16 11:50:14.363195856 +0200
@@ -531,7 +531,9 @@
                elsif (defined ($dptDetails->{MIN}))
                {
                        my $min = $dptDetails->{MIN};
+                        $min=~ tr/ /_/;
                        my $max = $dptDetails->{MAX};
+                        $max=~ tr/ /_/;
                        $setlist = ":" . $min . "," . $max;
                }
                #plain input field