Eventueller Bug in Symcon KNX-Datentyp 1.024 Tag/Nacht?

Ah nein, bitte nix ändern, sonst ist bei mir alles durcheinander. KNX Nutzung von Boolean ist halt vielfältig und nicht so eindeutig wie du es vermutest, da muss man ggf. mal selbst ran. Deinen DPT 1.024 gab es beispielweise zu meiner Anlagenerstellung noch nicht, deshalb ist bei mir und meinen MDT-Komponenten Tag=1. Also genau anders herum wie bei dir. Beides ist KNX, beides ist korrekt, man muss es nur konsequent machen. Und in IPS entsprechend der tatsächlich Belegung anpassen.

Du solltest nicht den Fehler machen, aus einer Installation auf alle anderen KNX-Installationen zu verallgemeinern. Die Subtypen bei DPT 1 Boolean sind rein deklarativ.

Tatsächlich falsch ist lediglich die Beschriftung des 1.024 in IPS. Wenn man Tag/Nacht Boolean DPT1 mit Subtyp 1.024 deklariert (wobei der Subtyp nur Beschriftung ist und gar nicht auf dem Bus übertragen wird) dann muß es natürlich der ETS-Beschriftung folgen.

1 „Gefällt mir“

Der Fix ist übrigens fertig und kommt zur 8.2 mit. Ich habe nebenbei auch alle anderen Profile von DPT 1.x kontrolliert und der Rest war korrekt :slight_smile: (@Nall-chan In der 7.2 wurden die zwei Profile getauscht… Da war ein ganz falsches Profil gesetzt. Jetzt war True/False vertauscht. Das ist bisher nicht aufgefallen)

paresy

1 „Gefällt mir“

Mir ging es eigentlich nur um die Symcon Version.
Aber das ist mir dabei aufgefallen:

Ja, leider lassen die meisten Distributionen die 32 Bit Builds langsam fallen.

paresy

Vielleicht passt JPaeper bis dahin doch noch seine Module an, sofern er Silvester mit seiner ShotGlassFillingMachine überlebt hat :wink:

Vielen Dank, dass du dich kümmerst.

Habe eventuell, ohne dass ich da jetzt was gesucht habe, auch einen Bug in DPT 010.X gefunden…:woozy_face:

Mein Script:

$GA_Wochentag = "0/0/4"; 

################################################################################

 KNX_WriteDPT10(18455, idate("w"), time()); //  sende Wochentag und Zeit an ID von KNX Instanz Tageszeit -> KNX DPT 10

$Wochentag = idate("w");
echo  "Wochentag = $Wochentag";

gibt mir für heute, Sonntag, eine 0 (NULL) zurück.

DPT 010.X bzw. KNX will aber eine 7 (SIEBEN) sehen.

Was mache ich falsch?

O.K. ich könnte jetzt was in der Art schreiben “wenn Wochentag=0, dann Wochentag=7”, sieht aber nicht schön aus.

Vielen Dank, Peter

Aber genau das ist doch die Stärke vom php Code. Du kannst jetzt in einer weiteren Zeile alles erschlagen.

$tag=idate("w");
if ($tag==0) {$tag=7; }
KNX_WriteDPT10(18455, $tag, time());

Danke auch dir, beseitigt jedoch meiner Meinung nach nicht die Ursache. Oder gibt es dafür einen Grund den ich nicht weiß?

Keep it simple and stupid, Peter

Wo den? Wenn du per PHP da eine 0 sendest, dann ist das allein dein Fehler :wink:

Und ja, PHP Doku sagt bei idate, Sonntag ist eine 0.
Wenn KNX was anders haben will, musst du das selber anpassen.

1 „Gefällt mir“

O.K. Danke dir. Ich klaube mir die Codeschnipsel ja hier aus dem Forum zusammen. z.B.: hier. Da steht das immer ohne diesen Hinweis. Habe noch einiges zu Lernen…

Peter

Und genau in dem verlinkten Beitrag steht sogar: ‚bin mir unsicher‘.

Stimmt, daher vielleicht besser:

$tag = date(„N“);

1 „Gefällt mir“