Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Arylic Audio Board - Node Red

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Arylic Audio Board - Node Red

    This topic has been deleted. Only users with topic management privileges can see it.
    • mfuhr
      mfuhr last edited by

      Guten Abend.

      Ich beschäftige mich gerade mit den Sound Boards von Arylic in Verbindnung mit Node Red.
      Ich bin so weit fast alle Funktionen in Node Red abzubilden aber im Moment scheitere Ich an der Abspielposition.

      Das Problem ist das vom Player die Gesamtlänge in Millisekunden und die aktuelle Position auch in Millisekunden zurück kommen, bei einem Schieberegler in der Vis kann nur ein Datenpunkt angegeben werden.

      Das Ziel wäre wenn der Schieberegeler gezogen wird das der Player dann ab der neuen Position weiter spielt.

      Hat jemand eine Idee wie ich das umsetzen könnte?

      Link zum Hersteller : https://www.arylic.com/products/up2stream-amp-2-1-amp-board

      Gruß
      Mar!o

      H mickym OliverIO 3 Replies Last reply Reply Quote 0
      • H
        Hansi1234 @mfuhr last edited by

        @mfuhr das klingt interessant. Darf ich fragen, warum du zu diesem Gerät und nicht zb zu einem hifiberry gegriffen hast?

        1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @mfuhr last edited by mickym

          @mfuhr Ich denke ich könnte Dir eventuell bei der Umsetzung helfen. Letztlich ist es doch nur ein Umrechnung der gesetzten Millisekunden auf die Position des Schiebereglers und umgekehrt.

          Der Slider wäre einfach von 0-100%, wobei 100% die Gesamtlänge bedeutet. Falls Du die aktuelle Position anzeigen willst, dann musst Du die es halt ebenfalls umrechnen.

          So könnte es in meinen Augen funktionieren:

          Slider Input gibt eine Prozentzahl vom 0-100 - zur Anzeige kann man dann easy in min:sec umrechnen.
          Umgekehrt wird die aktuelle Position in % ausgegeben bzw. in einem extra Label in Minuten und Sekunden der bislang gespielten aktuellen Position des Titels.

          bcadd754-0c18-4d39-9a08-0ca0c81ae80e-image.png

          [
              {
                  "id": "bd5a267eb557fb59",
                  "type": "inject",
                  "z": "54b226bc.0793e8",
                  "name": "",
                  "props": [
                      {
                          "p": "payload"
                      }
                  ],
                  "repeat": "",
                  "crontab": "",
                  "once": false,
                  "onceDelay": 0.1,
                  "topic": "",
                  "payload": "205000",
                  "payloadType": "num",
                  "x": 310,
                  "y": 2840,
                  "wires": [
                      [
                          "02c7b9d79d3148ec"
                      ]
                  ]
              },
              {
                  "id": "02c7b9d79d3148ec",
                  "type": "change",
                  "z": "54b226bc.0793e8",
                  "name": "setze Länge des Titels in ms",
                  "rules": [
                      {
                          "t": "set",
                          "p": "total",
                          "pt": "flow",
                          "to": "payload",
                          "tot": "msg"
                      },
                      {
                          "t": "set",
                          "p": "payload",
                          "pt": "msg",
                          "to": "$fromMillis(payload,'[m]:[s]')",
                          "tot": "jsonata"
                      }
                  ],
                  "action": "",
                  "property": "",
                  "from": "",
                  "to": "",
                  "reg": false,
                  "x": 520,
                  "y": 2840,
                  "wires": [
                      [
                          "dfe587aae48dbefa"
                      ]
                  ]
              },
              {
                  "id": "56f51916a7d72cba",
                  "type": "inject",
                  "z": "54b226bc.0793e8",
                  "name": "",
                  "props": [
                      {
                          "p": "payload"
                      }
                  ],
                  "repeat": "",
                  "crontab": "",
                  "once": false,
                  "onceDelay": 0.1,
                  "topic": "",
                  "payload": "10",
                  "payloadType": "num",
                  "x": 310,
                  "y": 2960,
                  "wires": [
                      [
                          "ccdf04ee59d8df99"
                      ]
                  ]
              },
              {
                  "id": "31e59200715bd4a1",
                  "type": "inject",
                  "z": "54b226bc.0793e8",
                  "name": "",
                  "props": [
                      {
                          "p": "payload"
                      }
                  ],
                  "repeat": "",
                  "crontab": "",
                  "once": false,
                  "onceDelay": 0.1,
                  "topic": "",
                  "payload": "25",
                  "payloadType": "num",
                  "x": 310,
                  "y": 3000,
                  "wires": [
                      [
                          "ccdf04ee59d8df99"
                      ]
                  ]
              },
              {
                  "id": "5ac5686434f3a4db",
                  "type": "inject",
                  "z": "54b226bc.0793e8",
                  "name": "",
                  "props": [
                      {
                          "p": "payload"
                      }
                  ],
                  "repeat": "",
                  "crontab": "",
                  "once": false,
                  "onceDelay": 0.1,
                  "topic": "",
                  "payload": "50",
                  "payloadType": "num",
                  "x": 310,
                  "y": 3040,
                  "wires": [
                      [
                          "ccdf04ee59d8df99"
                      ]
                  ]
              },
              {
                  "id": "1fb7ac7bce2b87c6",
                  "type": "inject",
                  "z": "54b226bc.0793e8",
                  "name": "",
                  "props": [
                      {
                          "p": "payload"
                      }
                  ],
                  "repeat": "",
                  "crontab": "",
                  "once": false,
                  "onceDelay": 0.1,
                  "topic": "",
                  "payload": "100",
                  "payloadType": "num",
                  "x": 310,
                  "y": 3080,
                  "wires": [
                      [
                          "ccdf04ee59d8df99"
                      ]
                  ]
              },
              {
                  "id": "ccdf04ee59d8df99",
                  "type": "change",
                  "z": "54b226bc.0793e8",
                  "name": "",
                  "rules": [
                      {
                          "t": "set",
                          "p": "payload",
                          "pt": "msg",
                          "to": "$flowContext('total') * payload\t/100",
                          "tot": "jsonata"
                      }
                  ],
                  "action": "",
                  "property": "",
                  "from": "",
                  "to": "",
                  "reg": false,
                  "x": 530,
                  "y": 3020,
                  "wires": [
                      [
                          "e9b1a93a5c8f3264",
                          "5e405d92717f07f3"
                      ]
                  ]
              },
              {
                  "id": "dfe587aae48dbefa",
                  "type": "debug",
                  "z": "54b226bc.0793e8",
                  "name": "",
                  "active": true,
                  "tosidebar": false,
                  "console": false,
                  "tostatus": true,
                  "complete": "payload",
                  "targetType": "msg",
                  "statusVal": "payload",
                  "statusType": "auto",
                  "x": 750,
                  "y": 2840,
                  "wires": []
              },
              {
                  "id": "e9b1a93a5c8f3264",
                  "type": "debug",
                  "z": "54b226bc.0793e8",
                  "name": "",
                  "active": true,
                  "tosidebar": false,
                  "console": false,
                  "tostatus": true,
                  "complete": "payload",
                  "targetType": "msg",
                  "statusVal": "payload",
                  "statusType": "auto",
                  "x": 750,
                  "y": 3100,
                  "wires": []
              },
              {
                  "id": "5e405d92717f07f3",
                  "type": "change",
                  "z": "54b226bc.0793e8",
                  "name": "in min:sek",
                  "rules": [
                      {
                          "t": "set",
                          "p": "payload",
                          "pt": "msg",
                          "to": "$fromMillis(payload,'[m]:[s]')\t",
                          "tot": "jsonata"
                      }
                  ],
                  "action": "",
                  "property": "",
                  "from": "",
                  "to": "",
                  "reg": false,
                  "x": 760,
                  "y": 3020,
                  "wires": [
                      [
                          "1dbc1c679d785723"
                      ]
                  ]
              },
              {
                  "id": "1dbc1c679d785723",
                  "type": "debug",
                  "z": "54b226bc.0793e8",
                  "name": "",
                  "active": true,
                  "tosidebar": true,
                  "console": false,
                  "tostatus": true,
                  "complete": "payload",
                  "targetType": "msg",
                  "statusVal": "payload",
                  "statusType": "auto",
                  "x": 950,
                  "y": 2960,
                  "wires": []
              },
              {
                  "id": "adeab82a3506c91e",
                  "type": "comment",
                  "z": "54b226bc.0793e8",
                  "name": "setzen der Gesamtzeit in ms",
                  "info": "",
                  "x": 360,
                  "y": 2780,
                  "wires": []
              },
              {
                  "id": "0f22c4d0f7dbac93",
                  "type": "comment",
                  "z": "54b226bc.0793e8",
                  "name": "Slider-Input in Prozent",
                  "info": "",
                  "x": 260,
                  "y": 2920,
                  "wires": []
              },
              {
                  "id": "bba9c2f2854fc05b",
                  "type": "comment",
                  "z": "54b226bc.0793e8",
                  "name": "Resultierende Position in ms",
                  "info": "",
                  "x": 780,
                  "y": 3160,
                  "wires": []
              },
              {
                  "id": "6961b5be1b86b432",
                  "type": "comment",
                  "z": "54b226bc.0793e8",
                  "name": "Zur Anzeige in Minuten und Sekunden",
                  "info": "",
                  "x": 1030,
                  "y": 2920,
                  "wires": []
              },
              {
                  "id": "6ede8454bf35ec04",
                  "type": "comment",
                  "z": "54b226bc.0793e8",
                  "name": "Aktuelle Position in ms",
                  "info": "",
                  "x": 280,
                  "y": 3260,
                  "wires": []
              },
              {
                  "id": "f39ea7de14a8d5ba",
                  "type": "inject",
                  "z": "54b226bc.0793e8",
                  "name": "",
                  "props": [
                      {
                          "p": "payload"
                      }
                  ],
                  "repeat": "",
                  "crontab": "",
                  "once": false,
                  "onceDelay": 0.1,
                  "topic": "",
                  "payload": "100000",
                  "payloadType": "num",
                  "x": 310,
                  "y": 3320,
                  "wires": [
                      [
                          "302ae69e83f999da",
                          "5b7ddac83c8752b6"
                      ]
                  ]
              },
              {
                  "id": "302ae69e83f999da",
                  "type": "change",
                  "z": "54b226bc.0793e8",
                  "name": "",
                  "rules": [
                      {
                          "t": "set",
                          "p": "payload",
                          "pt": "msg",
                          "to": "$round(payload * 100 / $flowContext('total') )",
                          "tot": "jsonata"
                      }
                  ],
                  "action": "",
                  "property": "",
                  "from": "",
                  "to": "",
                  "reg": false,
                  "x": 490,
                  "y": 3320,
                  "wires": [
                      [
                          "2915cbde7b73f0ba"
                      ]
                  ]
              },
              {
                  "id": "2915cbde7b73f0ba",
                  "type": "debug",
                  "z": "54b226bc.0793e8",
                  "name": "Ausgabe in Slider Datenpunkt (0-100)",
                  "active": true,
                  "tosidebar": true,
                  "console": false,
                  "tostatus": true,
                  "complete": "payload",
                  "targetType": "msg",
                  "statusVal": "payload",
                  "statusType": "auto",
                  "x": 790,
                  "y": 3320,
                  "wires": []
              },
              {
                  "id": "5f37a68637a0f130",
                  "type": "comment",
                  "z": "54b226bc.0793e8",
                  "name": "Aktuelle Position in Datenpunkt für Slider ausgeben",
                  "info": "",
                  "x": 830,
                  "y": 3260,
                  "wires": []
              },
              {
                  "id": "5b7ddac83c8752b6",
                  "type": "change",
                  "z": "54b226bc.0793e8",
                  "name": "in min:sek",
                  "rules": [
                      {
                          "t": "set",
                          "p": "payload",
                          "pt": "msg",
                          "to": "$fromMillis(payload,'[m]:[s]')\t",
                          "tot": "jsonata"
                      }
                  ],
                  "action": "",
                  "property": "",
                  "from": "",
                  "to": "",
                  "reg": false,
                  "x": 460,
                  "y": 3380,
                  "wires": [
                      [
                          "3d11200d35c55b6d"
                      ]
                  ]
              },
              {
                  "id": "3d11200d35c55b6d",
                  "type": "debug",
                  "z": "54b226bc.0793e8",
                  "name": "für Label zur Aktuellen Position des Sliders",
                  "active": true,
                  "tosidebar": true,
                  "console": false,
                  "tostatus": true,
                  "complete": "payload",
                  "targetType": "msg",
                  "statusVal": "payload",
                  "statusType": "auto",
                  "x": 810,
                  "y": 3380,
                  "wires": []
              }
          ]
          

          Und wenn Dir das zu grob ist, dann nimmst Du halt als Umrechnung Promille anstelle von Prozent.

          1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @mfuhr last edited by OliverIO

            @mfuhr
            welches slider widget hast du verwendet?
            die die ich soeben ausprobiert habe:

            • vis-inventwo - Simple Slider horizontal
            • jqui - Slider horizontal
            • materialdesign - Slider

            haben alle einen min/max attribut

            1 Reply Last reply Reply Quote 0
            • Steffen Küllmer
              Steffen Küllmer last edited by

              Ist der Adapter denn schon verfügbar?
              Habe mir auch die Tage das Arylic System besorgt und wäre sehr interessiert an Steuermöglichkeiten 😊

              J 1 Reply Last reply Reply Quote 0
              • J
                jumbo125 @Steffen Küllmer last edited by

                @steffen-küllmer
                Hallo zusammen
                Darf ich nachfragen, ob es schon einen Adapter gibt? habe auf github und npm leider nichts gefunden.
                Ansonsten versuche ich mich in die http api einzulesen, aber das wäre teils neuland und doch sehr viel aufwändiger.

                Danke euch vielmals!!
                und frohe weihnachten
                LG jumbo125

                KaiIobroke 2 Replies Last reply Reply Quote 0
                • KaiIobroke
                  KaiIobroke @jumbo125 last edited by

                  @jumbo125 hallo, ich habe einen Adapter für Wiim erstellt (nderzeit nur als Testversion auf GitHub). Nun ist mir aufgefallen, dass Arylic zur gleichen Firmengruppe gehört und die API scheint mir gleich. Probier doch einfach mal meinen Wiim Adapter aus

                  1 Reply Last reply Reply Quote 0
                  • KaiIobroke
                    KaiIobroke @jumbo125 last edited by

                    @jumbo125: falls es nach so langer Zeit nicht von Interesse ist:
                    Mein Adapter (immer noch unter Entwicklung, aber die wesentlichen Funktionen sind implementiert) erkennt in der Version 0.2.0 sowohl Wiim als auch Arylic und andere Linkplay kompatiblen Produkte (z.B. Audiocast M5 oder August WR320).
                    Da er noch nicht in die offizielle Liste aufgenommen ist, muss er zur Zeit noch von GitHub installiert werden:

                    https://github.com/KaiIOB/ioBroker.wiim

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    710
                    Online

                    31.7k
                    Users

                    79.6k
                    Topics

                    1.3m
                    Posts

                    7
                    8
                    886
                    Loading More Posts
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes
                    Reply
                    • Reply as topic
                    Log in to reply
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                    The ioBroker Community 2014-2023
                    logo