Ankündigung

Einklappen
Keine Ankündigung bisher.

Misterhouse: EIB15 (14-Byte text) auf den BUS senden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Misterhouse: EIB15 (14-Byte text) auf den BUS senden

    Wie kann ich denn von einem perl script aus einen 14-Byte Text auf den BUS senden?

    Ich habe es mal ganz blauäugig mit:
    Code:
       set_now $Sonos_Playername sprintf ("%14s", $SonosPlayername[$SonosPlayerNR]);
    versucht um einen string aus einem Feld zuzuweisen, aber erhalte nur die Meldung:
    Code:
    Not EIS type 15 data received for 7/0/100: [52]
    Irgendwelche Ideen oder Beispiele wie Ihr es macht?
    Gruß,
    Marc

    #2
    Eigentlich kann ich an deiner Zeile nichts falsches finden. Ungewöhnlich für mich ist die Verwendung von set_now.

    Die Fehlermeldung sagt aus, das beim _Empfang_ falsche Daten aufgetreten sind. Nicht beim Senden. Es wird ein Datenpaket mit exakt 14 Bytes erwartet. Es kam aber nur 1 Byte. Die 52 entspricht einer "4".

    Das EIB15_Item formattiert den Text selbst. Du kannst also auch:
    Code:
    set_now $Sonos_Playername $SonosPlayername[$SonosPlayerNR];
    schreiben.

    Funktioniert denn ein
    Code:
    set $Sonos_Playername 'Test'
    ?

    Kommentar


      #3
      Danke für den Hinweis,
      Code:
      set $Sonos_Playername ($SonosPlayername[$SonosPlayerNR]);
      funktioniert tatsächlich. Wird dann zwar erst im nächsten Durchlauf ausgeführt, aber das reicht mir in diesem Fall.
      Gruß,
      Marc

      Kommentar


        #4
        Das interessiert mich jetzt aber: Warum wolltest du das das noch im selben Lauf ausgeführt wird?

        Mike

        Kommentar


          #5
          Tja, eigentlich gab es keinen besonderen Grund -- mehr so programmier Gewohnheit, wenn irgendwas gesetzt ist will ich es zum Testen z.B. in der gleichen Schleife abfragen.

          Aber wie gesagt, eigentlich nicht nötig.
          Danke nochmals!
          Gruß,
          Marc

          Kommentar

          Lädt...
          X