Ankündigung

Einklappen
Keine Ankündigung bisher.

Szenennummer vom Wiregate auf den Bus

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] Szenennummer vom Wiregate auf den Bus

    Hallo zusammen,

    vorab, weil das mein allererster Beitrag ist: Ich lebe seit fast 3 Jahren (wie die Zeit vergeht...) in den eigenen, mit KNX und 1-Wire ausgestatteten vier Wänden und bin seitdem - vor allem dank Wiregate und den vielen Anregungen und Plugin-Vorlagen hier im Forum - mit immer noch wachsender Begeisterung dabei, meine Installation mit weiterer Hardware und Plugins auszubauen.

    Eigentlich habe ich bei Problemen bis jetzt immer irgendwo eine Antwort gefunden, aber bei dem folgenden Phänomen stehe ich auf dem Schlauch.

    Ich habe im Logikprozessor eine Logik erstellt, die bei bestimmten Inputwerten eine Szenennummer auf den Bus senden soll:

    Code:
    GrundbeleuchtungEG => {
    receive => 'Trigger Grundbeleuchtung EG',
    fetch => '4/0/24', # Lichtwert
    transmit => '0/3/0', # Szene
    translate => sub {
     if ($input->[0] == 1 && $input->[1] < 2000)  # Trigger ein und Licht außen < 3000
      { 
      return [B]11[/B]; 
      }
     } },
    So weit, so gut. Die Logik wird ausgelöst und es wird auch auf die transmit-GA geschrieben.

    Nachdem aber nicht das Erwartete passiert ist, habe ich einen näheren Blick in den Gruppenmonitor geworfen: Obwohl eine '11' gesendet werden soll, kommt tatsächlich eine '12' ($0B) auf der Gruppenadresse an (und wenn ich return 12 einstelle, kommt eine 13, usw...). Ich kann mir diese Verschiebung um 1 nicht erklären...

    Die transmit-GA ist im Wiregate hinterlegt, mit DPT 17.001 (Szenen Nummer), und mein WG ist auf dem neuesten Stand (1.4.0).

    Als workaround habe ich jetzt 'return 10' eingestellt, damit die gewünschte '11' verarbeitet wir, aber so ganz glücklich macht mich das nicht. Hat jemand eine Idee?


    Danke, und viele Grüße
    Matthias

    #2
    Eine hexadezimale 0x0B ist eine dezimale 11. Somit funktioniert Dein Senden.

    Nur irgend wo anders (ETS?) wird für die Anzeige eben die Eins drauf addiert, damit der erste Wert (also eine 0) auch als 1 dargestellt wird. Weil man den Leuten nicht zumuten möchte, dass man bei Null zum Zählen anfangen muss.
    (Ob man's verstehen mag oder nicht - früher sind, ernsthaft!, Leute dafür umgebracht worden, über die Frage ob eine Null existiert oder nicht. Das hängt uns immer noch nach. So folgte nach dem Jahr 1 vor Christus das Jahr 1 nach Christus. Ein Jahr 0 gab es nicht. Etc. pp.)
    TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

    Kommentar


      #3
      Oh ja, 0x0B ist 11 ! Danke, das war der entscheidende Hinweis. Also läuft nichts falsch im Wiregate oder meiner Logik.

      Der ETS Gruppenmonitor zeigt bei DPT 17.001 0x0B | 12 an, und da tatsächlich auch Szene 12 ausgelöst wird interpretieren die Aktoren das auch entsprechend.

      Ich sehe auch gerade, dass keine Szene 0 konfiguriert werden kann, also ist wohl im Sinne des KNX beim DPT 17.001 die 0x00 = Szenennummer 1 usw...


      Kommentar


        #4
        Hi,

        ich würde mich daran halten sonst kommst du bei der ETS Programmierung der Szenen durcheinander in der ETS wird das durchgängig so angezeigt das die Szene 1 bis 64 auf dem Bus 0-63 bedeutet.

        Vg
        Jürgen

        Kommentar

        Lädt...
        X