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

Hallo!

Ich bin weder in Symcon noch in KNX so der Experte, sondern fummel mich da immer so durch. Jetzt bin ich da so auf etwas gestoßen, was ich nicht verstehe. Es geht um die Steuerung der MDT-Rollladenaktoren mit dem Datentyp 1.024 Tag/Nacht.

KNX möchte gerne den Wert 0 für Tag haben und den Wert 1 für Nacht.

Wenn ich in Symcon den KNX DPT 1 nehme und unter Einheit 1.024 - Tag/Nacht wähle, ist dort

Value 1 für Tag und Value 0 für Nacht, also genau invertiert.

Ist das so richtig oder ist das ein Bug?

Peter

Sollte ein Bug sein. Im KNX ist 0 Tag und 1 Nacht.

Ist die Frage was Symcon wirklich sendet.
Die bool Variable kann auch bei false eine 1 auf den Bus senden…

@DerStandart Danke Dir! Ich habe gehofft, dass Du antwortest.

@Nall-chan Symcon sendet es falsch herum. Deshalb bin ich ja darauf gestoßen. Außerdem ist ja auch die logische Darstellung 1= true=blau; 0 =false=grau so wie Symcon das sendet.

Peter

Wenn du das kontrolliert hast, dann wird das schon stimmen.
Ich wollte darauf hinweisen dass die Anzeige und Darstellung eines Wertes in Symcon nicht zwangsläufig auch dem Wert der Hardware entspricht.

Zumal du die Tag/Nacht Anzeige der Variable in Symcon ja einfach anpassen kannst, indem du das Profil bzw. die Darstellung anpasst.

Das mag ja sein, aber es ist doch die Symcon-eigene KNX-Instanz die das falsch sendet. Da kann ich vorher rumfummeln wie ich will.

Da sollte die Aussage mit dem was die Instanz tut schon übereinstimmen. Das auf dem Bild ist zeitgleich aufgenommen.

Warum muss dann bei einem offensichtlichem Fehler jeder der das nutzt ein eigenes Profil anlegen? Was passiert, wenn Symcon sich dann doch irgendwann mal entschließt den Fehler zu beseitigen?

Oder sehe ich das so falsch?

Nein, das siehst du genau richtig. Hier müsste die Beschriftung in der KNX Instanz angepasst werden.

Sie sendet es doch richtig.
Bool true ist 1.
Dann stimmt halt ab Werk die Darstellung/Profil nicht.

Nix, weil selbst zugewiese Profile/Darstellungen eine höhere Priorität haben.

Außerdem ist der Fehler im Profil schon behoben:
Fix: KNX: DPT 1.024 und 1.100 haben jetzt korrekte Profile (waren seit der 7.2 vertauscht)

Es ist einfach verdreht. Ich fixe das gleich :slight_smile:

paresy

1 „Gefällt mir“

Nochmal? Oder den Fehler aus der 7.2 wieder mitgeschleift? :laughing:

Ich habe jetzt so lange gebraucht, dass das hier schon obsolet ist da @paresy das inzwischen übernommen hat. Vielen Dank dafür.

Ich lasse das aber trotzdem stehen, um meine Gedankengänge und Versuche zu dokumentieren. Ich blicke nämlich nicht mehr durch…

Genau das ist ja meiner Meinung nach falsch. KNX will bei Tag eine 0 (NULL) haben. Klingt komisch, ist aber so.

Ich glaube wir drehen uns im Kreis und ich bin völlig durcheinander.

Also noch einmal: Wir haben jetzt übrigens NACHT

  1. Ich nehme das hier:

    Zustand (Nacht) und Anzeige (Aus) stimmt überein und ist richtig.

  2. packe das in ein Script:

//Bitte GAs anpassen und Ereignis erstellen, welches im gewünschten Intervall das Skript startet
 $GA_Datum = "0/0/1";
 $GA_Zeit = "0/0/2";
 $GA_TagNacht = "0/0/3"; 

 $TagNacht = GetValue(27973); // ist die ID "Ist es Tag von Location Control"

 EIB_Date($dateID, date("Ymd"));
 EIB_Time($timeID, date("His"));
 KNX_WriteDPT1(24607, $TagNacht); // ist die ID "KNX DPT 1"
  1. und schicke das an KNX DPT 1:

hier ist Zustand (false) und Anzeige (Nacht)

  1. In der Instanz auch:

  1. Das Profil ist so:

  2. An KNX wird gesendet:

  3. KNX will aber eine $01 sehen.

  4. Wenn ich jetzt das Profil ändere, also invertiere:

  5. Ist wiederum die Anzeige in der Console falsch:

  6. KNX bekommt immer noch den falschen Wert gesendet:


Ja, logisch.
Weil du nimmst den Wert vom Location Control und dort ist Tag/Nacht halt anders herum.
Du musst im Skript den Wert invertieren.

Genau das ist ja meiner Meinung nach falsch. KNX will bei Tag eine 0 (NULL) haben. Klingt komisch, ist aber so.

Ich glaube wir drehen uns im Kreis und ich bin völlig durcheinander.

Also noch einmal: Wir haben jetzt übrigens NACHT

  1. Ich nehme das hier:

    Zustand (Nacht) und Anzeige (Aus) stimmt überein und ist richtig.

  2. packe das in ein Script:

//Bitte GAs anpassen und Ereignis erstellen, welches im gewünschten Intervall das Skript startet
 $GA_Datum = "0/0/1";
 $GA_Zeit = "0/0/2";
 $GA_TagNacht = "0/0/3"; 

 $TagNacht = GetValue(27973); // ist die ID "Ist es Tag von Location Control"

 EIB_Date($dateID, date("Ymd"));
 EIB_Time($timeID, date("His"));
 KNX_WriteDPT1(24607, $TagNacht); // ist die ID "KNX DPT 1"
  1. und schicke das an KNX DPT 1:

hier ist Zustand (false) und Anzeige (Nacht)

  1. In der Instanz auch:

  1. Das Profil ist so:

Was total egal ist.
GetValue nimmt den Wert. Also true oder false.
Bei Nacht ist das ein false.
Jetzt schreibst du das false in eine KNX Instanz… Also sendest du eine 0…

Nochmal, dein Skript ist falsch. Du musst den Wert invertieren.

 //Bitte GAs anpassen und Ereignis erstellen, welches im gewünschten Intervall das Skript startet
 $GA_Datum = "0/0/1";
 $GA_Zeit = "0/0/2";
 $GA_TagNacht = "0/0/3"; 

 $TagNacht = GetValue(27973); // ist die ID "Ist es Tag von Location Control"

 EIB_Date($dateID, date("Ymd"));
 EIB_Time($timeID, date("His"));
 KNX_WriteDPT1(24607, !$TagNacht); // ist die ID "KNX DPT 1"

Es muss !$TagNacht heißen, da unser Location Control Tag = 1 hat und KNX Tag = 0 hat. Die Darstellung ist da gerade unerheblich :slight_smile:

paresy

Ich muss also das im Script invertieren:

 EIB_Date($dateID, date("Ymd"));
 EIB_Time($timeID, date("His"));
 KNX_WriteDPT1(24607, !$TagNacht);

Mit dem Originalprofil steht dann in der Console:

damit KNX das Richtige bekommt:

Da blickt doch keiner durch!

Wenn ich jetzt noch das von Symcon vorgegebene Profil ~DayNight.KNX zusätzlich invertiere:

dann stimmt die Anzeige in der Console:

und in KNX auch

aber die Instanz zeigt mir das Gegenteil

Wer soll da noch durchblicken und wem wollt ihr das so verkaufen? Wofür ist dann das für mich offensichtlich falsche Profil?

Entschuldigt bitte, dass ich etwas ungehalten bin, aber ich bezahle für so was eine Unlimited License und Jahr für Jahr eine Subscription!

Langsam … es sich eben zwei Aspekte zu beachten:

  1. Das Profil in Symcon ist falsch und muss getauscht werden, um den KNX Wert richtig anzuzeigen. Darum kümmert sich paresy

  2. Unabhängig vom Profil ist auch der Boolean zwischen IPS und KNX genau andersherum definiert. Das ist auch unabhängig von der Profildarstellung, deshalb musst du das in deinem Scrip invertieren.

Alles klar?

Danke, ich habe meinen Teil getan. Bin leider durch dieses Thema: https://community.symcon.de/t/fensterkontakte-ansicht-in-der-visualisierung/135754/9?u=pjotrweliki

vorgeschädigt. Da habe ich mich und Andere auch redlich bemüht damit das geändert wird und nichts ist passiert.

Scheinbar bin ich zu blöd das rüber zu bringen.

Die Konfiguration einer Instanz in der Konsole aktualisiert das Profil nicht in Echtzeit, dass machen nur die Frontends.
Du musst also den Tab schließen und neu öffnen.

Außerdem wäre mal die Frage, welche Symcon Version du überhaupt nutzt?

Symcon Version:

IP-Symcon 8.1, Raspberry Pi (armhf), 10.11.2025, f05de273b4f1

32Bit-OS-Lite auf RPi 3B+:

PRETTY_NAME=„Raspbian GNU/Linux 12 (bookworm)“
NAME=„Raspbian GNU/Linux“
VERSION_ID=„12“
VERSION=„12 (bookworm)“
VERSION_CODENAME=bookworm
ID=raspbian
ID_LIKE=debian

Trixie oder 64Bit-OS geht leider nicht, da viele Dinge von IPS2GPIO dort nicht mehr funktionieren.