Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [Frage] Internetradio - wie geht das ?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Frage] Internetradio - wie geht das ?

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

      Ich hol das nochmal hoch, weil mich das auch interessiert.

      Möchte genau das gleiche wie Ace-k….. Die Senderlogos (hinterlegt da drin die Stream URL) Play und Stop Button und das Bluetooth Gerät was es abspielen soll.

      1 Reply Last reply Reply Quote 0
      • metaxa
        metaxa last edited by

        Bzgl. Sender habe ich es für mich so gelöst: 488_radio_in_vis.jpg
        Dazu verwende ich den "mpd client adapter" und vis für die Darstellung. Die Logos habe ich mir im Internet gesucht und als bunt (aktiv) oder s/w (inaktiv) eingearbeitet.

        Bei mir läuft ein Pi2 als Slave der neben paar Kleinigkeiten hauptsächlich für das Abspielen der Radiosender zuständig ist. Am Radio-Raspi habe ich eine kostengünstige usb Soundkarte angeschlossen, danach einen noch günstigeren 12V Autoverstärker und dort dran direkt die Speaker in der Badezimmerdecke. Läuft bei mir seit 1 Jahr völlig problemlos.

        Bei den Bluetoothgeräten kann ich leider nicht helfen.

        LG, mxa

        1 Reply Last reply Reply Quote 0
        • a200
          a200 last edited by

          @Jey Cee - Vielen Dank für den Adapter. Damit steuere ich meinen WLAN-Lautsprecher (August WS300) an.

          Habe dein Skript auf meine Bedürfnisse leicht angepasst. Aber Senderwahl, start, stop, pause, mute, lauter und leiser funktioniert bestens. Leider werden keine Status-Infos von meiner Box gesetzt, so dass ich darüber hinaus nicht viel machen kann.

          Super Arbeit. Danke!

          s200.

          Mein Menu ist noch nicht fertig. :roll:

          ! 1597_webradio.png

          Meine Änderungen:

          • Wird ein Sender angeklickt, dann wird dieser automatisch abgespielt.

          • Leuter/Leiser geht nur im Bereich zwischen 0 und 100.

          Segway 1 Reply Last reply Reply Quote 1
          • a200
            a200 last edited by

            Falls einer noch Senderlogos für sein Webradio sucht, dann habe ich was für ihn.

            unter https://media.seat.de/flv/seatde/pdf/SE … rlogos.zip findet man 417 Logos in 160x120 PNG Format.

            Viel Spaß und danke an Seat.

            1 Reply Last reply Reply Quote 1
            • a200
              a200 last edited by a200

              @Jey-Cee moin, nach dem update des upnp Adapters kann ich keine Musik mehr abspielen. Mit der alten Version geht es!

              Die Werte werden von den Skripten übernommen:
              a1.PNG
              a2.PNG
              a3.PNG

              Trotzdem kriege ich keinen Ton aus dem W-Lan Lutsprecher raus. Wenn ich die alte Version 0.3.9 von upnp installiere, dann geht wieder alles.

              Ideen?

              Logfile

              2019-06-09 12:40:25.214  - info: host.qiobroker stopInstance system.adapter.upnp.0
              2019-06-09 12:40:25.214  - info: host.qiobroker stopInstance system.adapter.upnp.0 killing pid 22006
              2019-06-09 12:40:25.621  - info: upnp.0 Alive and sid states cleared
              2019-06-09 12:40:25.621  - info: upnp.0 cleaned everything up...
              2019-06-09 12:40:25.711  - info: upnp.0 Alive and sid states cleared
              2019-06-09 12:40:26.312  - info: host.qiobroker instance system.adapter.upnp.0 terminated with code 0 (OK)
              2019-06-09 12:51:15.823  - info: host.qiobroker instance system.adapter.upnp.0 started with pid 3329
              2019-06-09 12:51:17.323  - info: upnp.0 starting. Version 1.0.11 in /opt/iobroker/node_modules/iobroker.upnp, node: v8.15.0
              2019-06-09 12:51:17.352  - info: upnp.0 Auto discover: true
              2019-06-09 12:54:59.357  - info: host.qiobroker stopInstance system.adapter.upnp.0
              2019-06-09 12:54:59.357  - info: host.qiobroker stopInstance system.adapter.upnp.0 killing pid 3329
              2019-06-09 12:54:59.516  - info: host.qiobroker instance system.adapter.upnp.0 terminated with code 0 (OK)
              2019-06-09 12:56:46.023  - info: host.qiobroker instance system.adapter.upnp.0 started with pid 3649
              2019-06-09 12:56:47.623  - info: upnp.0 starting. Version 1.0.11 in /opt/iobroker/node_modules/iobroker.upnp, node: v8.15.0
              2019-06-09 12:56:47.650  - info: upnp.0 Auto discover: true
              2019-06-09 13:11:54.148  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 13:11:54.289  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 13:11:54.446  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 13:23:36.017  - error: upnp.0 uncaught exception: state is not defined
              2019-06-09 13:23:36.018  - error: upnp.0 ReferenceError: state is not defined
                  at Object.main (/opt/iobroker/node_modules/iobroker.upnp/lib/player.js:116:17)
                  at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.upnp/main.js:135:20)
              2019-06-09 13:23:36.026  - info: upnp.0 terminating
              2019-06-09 13:23:36.047  - error: Caught by controller[0]:     at Object.main (/opt/iobroker/node_modules/iobroker.upnp/lib/player.js:116:17)
              2019-06-09 13:23:36.047  - error: Caught by controller[0]:     at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.upnp/main.js:135:20)
              2019-06-09 13:23:36.048  - error: host.qiobroker instance system.adapter.upnp.0 terminated with code 0 (OK)
              2019-06-09 13:23:36.048  - info: host.qiobroker Restart adapter system.adapter.upnp.0 because enabled
              2019-06-09 13:24:06.057  - info: host.qiobroker instance system.adapter.upnp.0 started with pid 3911
              2019-06-09 13:24:07.424  - info: upnp.0 starting. Version 1.0.11 in /opt/iobroker/node_modules/iobroker.upnp, node: v8.15.0
              2019-06-09 13:24:07.452  - info: upnp.0 Auto discover: true
              2019-06-09 13:24:09.901  - error: upnp.0 uncaught exception: state is not defined
              2019-06-09 13:24:09.902  - error: upnp.0 ReferenceError: state is not defined
                  at Object.main (/opt/iobroker/node_modules/iobroker.upnp/lib/player.js:116:17)
                  at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.upnp/main.js:135:20)
              2019-06-09 13:24:09.936  - info: upnp.0 terminating
              2019-06-09 13:24:10.013  - error: Caught by controller[0]:     at Object.main (/opt/iobroker/node_modules/iobroker.upnp/lib/player.js:116:17)
              2019-06-09 13:24:10.014  - error: Caught by controller[0]:     at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.upnp/main.js:135:20)
              2019-06-09 13:24:10.018  - error: host.qiobroker instance system.adapter.upnp.0 terminated with code 0 (OK)
              2019-06-09 13:24:10.018  - info: host.qiobroker Restart adapter system.adapter.upnp.0 because enabled
              2019-06-09 13:24:40.029  - info: host.qiobroker instance system.adapter.upnp.0 started with pid 3925
              2019-06-09 13:24:41.426  - info: upnp.0 starting. Version 1.0.11 in /opt/iobroker/node_modules/iobroker.upnp, node: v8.15.0
              2019-06-09 13:24:41.451  - info: upnp.0 Auto discover: true
              2019-06-09 13:25:29.860  - error: upnp.0 uncaught exception: state is not defined
              2019-06-09 13:25:29.891  - error: Caught by controller[0]:     at Object.main (/opt/iobroker/node_modules/iobroker.upnp/lib/player.js:116:17)
              2019-06-09 13:25:29.891  - error: Caught by controller[0]:     at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.upnp/main.js:135:20)
              2019-06-09 13:25:29.892  - error: host.qiobroker instance system.adapter.upnp.0 terminated with code 0 (OK)
              2019-06-09 13:25:29.892  - info: host.qiobroker Restart adapter system.adapter.upnp.0 because enabled
              2019-06-09 13:25:59.902  - info: host.qiobroker instance system.adapter.upnp.0 started with pid 3946
              2019-06-09 13:26:01.278  - info: upnp.0 starting. Version 1.0.11 in /opt/iobroker/node_modules/iobroker.upnp, node: v8.15.0
              2019-06-09 13:26:01.309  - info: upnp.0 Auto discover: true
              2019-06-09 13:26:57.272  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 13:26:57.428  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 13:26:57.579  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 13:27:15.374  - error: upnp.0 uncaught exception: state is not defined
              2019-06-09 13:27:15.375  - error: upnp.0 ReferenceError: state is not defined
                  at Object.main (/opt/iobroker/node_modules/iobroker.upnp/lib/player.js:116:17)
                  at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.upnp/main.js:135:20)
              2019-06-09 13:27:15.379  - info: upnp.0 terminating
              2019-06-09 13:27:15.398  - error: Caught by controller[0]:     at Object.main (/opt/iobroker/node_modules/iobroker.upnp/lib/player.js:116:17)
              2019-06-09 13:27:15.398  - error: Caught by controller[0]:     at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.upnp/main.js:135:20)
              2019-06-09 13:27:15.398  - error: host.qiobroker instance system.adapter.upnp.0 terminated with code 0 (OK)
              2019-06-09 13:27:15.399  - info: host.qiobroker Restart adapter system.adapter.upnp.0 because enabled
              2019-06-09 13:27:45.406  - info: host.qiobroker instance system.adapter.upnp.0 started with pid 3960
              2019-06-09 13:27:46.949  - info: upnp.0 starting. Version 1.0.11 in /opt/iobroker/node_modules/iobroker.upnp, node: v8.15.0
              2019-06-09 13:27:46.983  - info: upnp.0 Auto discover: true
              2019-06-09 13:28:43.499  - warn: upnp.0 Error sending SOAP request: Error: getaddrinfo ENOTFOUND undefined undefined:80
              2019-06-09 13:32:00.570  - warn: upnp.0 Error sending SOAP request: Error: getaddrinfo ENOTFOUND undefined undefined:80
              2019-06-09 13:33:22.276  - warn: upnp.0 Error sending SOAP request: Error: getaddrinfo ENOTFOUND undefined undefined:80
              2019-06-09 13:42:00.292  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 13:42:00.445  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 13:42:00.613  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 13:46:04.408  - info: host.qiobroker object change system.adapter.upnp.0
              2019-06-09 13:46:04.410  - info: host.qiobroker stopInstance system.adapter.upnp.0
              2019-06-09 13:46:04.410  - info: host.qiobroker stopInstance system.adapter.upnp.0 killing pid 3960
              2019-06-09 13:46:04.447  - info: host.qiobroker instance system.adapter.upnp.0 terminated with code 0 (OK)
              2019-06-09 13:46:06.920  - info: host.qiobroker instance system.adapter.upnp.0 started with pid 4058
              2019-06-09 13:46:08.356  - info: upnp.0 starting. Version 1.0.11 in /opt/iobroker/node_modules/iobroker.upnp, node: v8.15.0
              2019-06-09 13:46:08.390  - info: upnp.0 Auto discover: true
              2019-06-09 13:57:03.385  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 13:57:03.540  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 13:57:03.689  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 14:08:43.043  - info: host.qiobroker object change system.adapter.upnp.0
              2019-06-09 14:08:43.044  - info: host.qiobroker stopInstance system.adapter.upnp.0
              2019-06-09 14:08:43.044  - info: host.qiobroker stopInstance system.adapter.upnp.0 killing pid 4058
              2019-06-09 14:08:43.077  - info: host.qiobroker instance system.adapter.upnp.0 terminated with code 0 (OK)
              2019-06-09 14:08:45.558  - info: host.qiobroker instance system.adapter.upnp.0 started with pid 4142
              2019-06-09 14:08:47.125  - info: upnp.0 starting. Version 1.0.11 in /opt/iobroker/node_modules/iobroker.upnp, node: v8.15.0
              2019-06-09 14:08:47.211  - info: upnp.0 Auto discover: true
              2019-06-09 14:09:18.717  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.Play.InstanceID: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:09:18.733  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.Play.Speed: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:09:20.119  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.SetAVTransportURI.InstanceID: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:09:24.390  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.Play.InstanceID: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:09:24.398  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.Play.Speed: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:09:30.134  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.Play.InstanceID: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:09:30.146  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.Play.Speed: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:10:08.713  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.SetAVTransportURI.InstanceID: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:10:11.120  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.Play.InstanceID: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:10:11.126  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.Play.Speed: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:10:18.724  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.Play.InstanceID: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:10:18.731  - warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.AVTransport.Play.Speed: "number". Please fix, while deprecated and will not work in next versions.
              2019-06-09 14:12:06.436  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 14:12:06.602  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              2019-06-09 14:12:06.739  - info: upnp.0 Found new device: http://192.168.10.33:60000/upnp/dev/72e6f6dd-1dc1-9d18-ffff-ffff8beba91a/desc
              

              Jey Cee 1 Reply Last reply Reply Quote 1
              • Jey Cee
                Jey Cee Developer @a200 last edited by

                @a200 keine Ideen.
                Ich verwende den Adapter schon lange nicht mehr und die Updates wurden von Bluefox durchgeführt.
                Bei mir läuft der Adapter nicht, daher kann ich auch nichts testen.

                a200 1 Reply Last reply Reply Quote 1
                • a200
                  a200 @Jey Cee last edited by

                  @Jey-Cee ok. Danke. dann spreche ich mal Bluefox an. schönen tag noch.

                  a200 1 Reply Last reply Reply Quote 1
                  • a200
                    a200 @a200 last edited by

                    @Bluefox - kannst du sehen wieso nach dem Update des upnp-Adapters, das abspielen nicht mehr funktioniert? Siehe mein Post davor: https://forum.iobroker.net/post/269506

                    Beim Changelog zu 1,07 steht; "Breaking change: naming was changed and command to poll has another name - "request""

                    Allerdings werden die Datenpunkte bei mir genauso angezeigt wie vorher.

                    Würde mich sehr freuen, wenn du drauf schauen könntest.

                    Skript:

                    var device = "upnp.0.WS300_664C"; //Hier das upnp Gerät eintragen das gesteuert werden soll. 
                    var control = 'javascript.0.Tab2'; //Hier das Objekt eintragen wo die Steuerobjekte angelegt werden sollen
                    var oldVol; 
                    var outURL;
                    var newVol;
                    var debug = true;
                    
                    var sender = ["https://wdr-1live-live.icecastssl.wdr.de/wdr/1live/live/mp3/128/stream.mp3",
                        "http://mp3.ffh.de/radioffh/hqlivestream.mp3",
                        "http://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3",
                        "http://109.199.61.243:80/4784/live.mp3",
                        "http://mp3.ffh.de/ffhchannels/hq80er.mp3",
                        "https://stream.rockland.de/rockland_ludwigshafen.mp3",
                        "http://streamhq.top100station.com/top100station-high.mp3",
                        "http://st01.dlf.de/dlf/01/128/mp3/stream.mp3",
                        "http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3",
                        "http://ndr-ndr2-niedersachsen.cast.addradio.de/ndr/ndr2/niedersachsen/mp3/128/stream.mp3",
                        "http://mp3channels.webradio.rockantenne.de/heavy-metal",
                        "http://streams.radiobob.de/bob-kuschelrock/mp3-192/mediaplayer",
                        "http://mp3.radiorsg.c.nmdn.net/radiorsg/livestream.mp3",
                        "http://ice912.echo.msk.ru:9120/stream",
                        "http://mp3channels.webradio.antenne.de/80er-kulthits",
                        "https://streams.regenbogen.de/rr-mannheim-128-mp3",
                        "http://st03.dlf.de/dlf/03/128/mp3/stream.mp3",
                        "http://tuner.m1.fm/charts.mp3"];
                        
                    var sname = ["1 Live", 
                        "Hit Radio FFH", 
                        "SWR 3", 
                        "1 Live - Diggi", 
                        "Hit Radio FFH - 80er", 
                        "Rockland Radio - MH & LU", 
                        "Top 100 - Station",
                        "Deutschlandfunk",
                        "hr info",
                        "NDR 2",
                        "Rock Antenne - Heavy Metal",
                        "Kuschelrock",
                        "Radio RSG",
                        "Echo of Moscow",
                        "ANTENNE BAYERN - 80er Kulthits",
                        "Radio Regenbogen",
                        "Deutschlandfunk Nova",
                        "Top Of The Charts"];   
                    
                    //createState(name, initialValue, forceCreation, common, native, callback);
                    createState(control + '.MediaControl.Play', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.play'});
                    createState(control + '.MediaControl.Pause', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.pause'});
                    createState(control + '.MediaControl.Stop', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.stop'});
                    createState(control + '.AudioControl.Vol_UP', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.volume_up'});
                    createState(control + '.AudioControl.Vol_Down', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.volume_down'});
                    createState(control + '.AudioControl.Mute', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.mute'});
                    createState(control + '.MediaControl.MediaURL', '', {type: 'string', read: 'true', write: 'true'});
                    createState(control + '.Num2URL', '', {type: 'string', read: 'true', write: 'true'});
                    createState(control + '.SenderName', '', {type: 'string', read: 'true', write: 'true'});
                    
                    on({id: control + '.Num2URL', change: "ne"}, function (obj) {
                        var tmpnr = getState(control + '.Num2URL').val;
                        setState(control + '.MediaControl.MediaURL', sender[tmpnr], true);
                        setState(control + '.SenderName', sname[tmpnr], true);
                    });
                        
                    
                    on({id: control + '.MediaControl.Play', val: true
                        }, function(obj){
                    
                            if(debug) log("PLAY gedrückt");
                            //Wiedergabe starten
                            setState(device + '.MediaRenderer.AVTransport.Play.InstanceID', 0);
                            setState(device + '.MediaRenderer.AVTransport.Play.Speed', 1);
                            setState(device + '.MediaRenderer.AVTransport.Play', 'send');
                            setTimeout(function(){setState(obj.id, false);}, 150);
                        });
                        
                    on({id: control + '.MediaControl.Pause', val: true
                        }, function(obj){
                            
                            if(debug) log("PAUSE gedrückt");
                            //Wiedergabe pausieren
                            setState(device +  '.MediaRenderer.AVTransport.Pause.InstanceID', 0);
                            setState(device + '.MediaRenderer.AVTransport.Pause', 'send');
                            setTimeout(function(){setState(obj.id, false);}, 150);
                        });
                    
                    on({id: control + '.MediaControl.Stop', val: true
                        }, function(obj){
                            
                            if(debug) log("STOP gedrückt");
                            //Wiedergabe stoppen
                            setState(device +  '.MediaRenderer.AVTransport.Stop.InstanceID', 0);
                            setState(device + '.MediaRenderer.AVTransport.Stop', 'send');
                            setTimeout(function(){setState(obj.id, false);}, 150);
                        });
                        
                    on({id: control + '.AudioControl.Vol_UP', val: true
                        }, function(obj){
                            oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val;
                            
                            if(debug) log("old: " + oldVol);
                            if(oldVol != "" && oldVol != null) {
                                if(parseInt(oldVol) < 96) newVol = parseInt(oldVol) + 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden
                            }
                            else
                                newVol = 50;
                            if(debug) log("new: " + newVol);
                    
                            //neue Lautstärke senden
                            setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master');
                            setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol);
                            setState(device +  '.MediaRenderer.RenderingControl.SetVolume.InstanceID', 0);
                            setState(device + '.MediaRenderer.RenderingControl.SetVolume', 'send');
                            setTimeout(function(){setState(obj.id, false);}, 150);
                            setState(device + '.MediaRenderer.RenderingControl.Volume', newVol);
                        });
                        
                    on({id: control + '.AudioControl.Vol_Down', val: true
                        }, function(obj){
                            oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val;
                            
                            if(debug) log("old: " + oldVol);
                            if(oldVol != "" && oldVol != null) {
                                if(parseInt(oldVol) > 4) newVol = parseInt(oldVol) - 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden
                            }
                            else
                                newVol = 50;
                            if(debug) log("new: " + newVol);
                    
                            //neue Lautstärke senden
                            setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master');
                            setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol);
                            setState(device +  '.MediaRenderer.RenderingControl.SetVolume.InstanceID', 0);
                            setState(device + '.MediaRenderer.RenderingControl.SetVolume', 'send');
                            setTimeout(function(){setState(obj.id, false);}, 150);
                            setState(device + '.MediaRenderer.RenderingControl.Volume', newVol);
                        });
                        
                    on({id: control + '.AudioControl.Mute', val: true
                        }, function(){
                            var oldMute = getState(device + '.MediaRenderer.RenderingControl.Mute').val;
                    
                            if(debug) log("MUTE gedrückt");        
                            if(!oldMute){
                                setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', 0);
                                setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master');
                                setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', 1);
                                setState(device + '.MediaRenderer.RenderingControl.SetMute', 'send');
                                setState(device + '.MediaRenderer.RenderingControl.Mute', true);            
                            }else{
                                setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', 0);
                                setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master');
                                setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', 0);
                                setState(device + '.MediaRenderer.RenderingControl.SetMute', 'send');
                                setState(device + '.MediaRenderer.RenderingControl.Mute', false);
                            }
                            //setTimeout(function(){setState(obj.id, false);}, 150);
                        });
                        
                    on({id: control + '.MediaControl.MediaURL'
                        }, function(obj){
                        if(debug) log("NEUER SENDER gedrückt");
                          upnp.0.WS300_664C.MediaRenderer.AVTransport.SetAVTransportURI.CurrentURI
                        setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.CurrentURI', obj.newState.val);
                        setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.InstanceID', 0);
                        setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI', 'send');
                        setTimeout(function () {setState('javascript.0.Tab2.MediaControl.Play', true,true)}, 10000);
                    });
                    
                    

                    1 Reply Last reply Reply Quote 1
                    • Bluefox
                      Bluefox last edited by

                      Участник @a200 написал в [Frage] Internetradio - wie geht das ?:

                      116:17

                      Bitte 1.0.12 testen.

                      a200 1 Reply Last reply Reply Quote 1
                      • a200
                        a200 @Bluefox last edited by a200

                        @Bluefox hi,

                        es ist wie bei 1.0.11 es scheint an den "send" Befehlen zu liegen. Wie z.B.

                        setState(device + '.MediaRenderer.AVTransport.Play', 'send');
                        

                        oder

                        setState(device + '.MediaRenderer.RenderingControl.SetVolume', 'send');
                        

                        Wie kann ich in der neuen Version des Adapters die vorgenommene Einstellungen an das Gerät senden? Früher ging es mit:

                                setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master');
                                setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol);
                                setState(device + '.MediaRenderer.RenderingControl.SetVolume.InstanceID', 0);
                                setState(device + '.MediaRenderer.RenderingControl.SetVolume', 'send');
                        

                        und jetzt?

                        Danke im Voraus,
                        a200.

                        Bluefox Jey Cee 2 Replies Last reply Reply Quote 1
                        • Bluefox
                          Bluefox @a200 last edited by

                          @a200 und was ist mit 1.0.12?

                          1 Reply Last reply Reply Quote 1
                          • Jey Cee
                            Jey Cee Developer @a200 last edited by

                            @a200

                            setState(device + '.MediaRenderer.RenderingControl.SetVolume.request', true);
                            

                            So sollte das jetzt wohl funktionieren.

                            a200 1 Reply Last reply Reply Quote 1
                            • a200
                              a200 @Jey Cee last edited by

                              @Bluefox - meine Aussagen beziehen sich auf 1.0.12

                              @Jey-Cee - eben leider nicht. Das habe ich vorher schon versucht. Es geht weder per Skript, noch manuell über den Klick auf den Button in Objekt-Baum.

                              1 Reply Last reply Reply Quote 1
                              • Jey Cee
                                Jey Cee Developer last edited by

                                @a200 sagte in [Frage] Internetradio - wie geht das ?:

                                Es geht weder per Skript, noch manuell über den Klick auf den Button in Objekt-Baum.

                                Das mag ja sein aber was steht den im Log, ich hab den Adapter mit sehr viel Log ausgestattet damit man sieht wenn ein Befehl nicht funktioniert. Da kommt die Fehlermeldung zurück und das was gesendet wurde.
                                So haben wir vielleicht einen Ansatzupunkt.

                                a200 1 Reply Last reply Reply Quote 1
                                • a200
                                  a200 @Jey Cee last edited by

                                  @Jey-Cee Das stimmt!

                                  2019-06-14 20:11:41.891  - warn: upnp.0 Unexpected answer from upnp service:
                                  {
                                  "statusCode":500,
                                  "body":"<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n<s:Body>\n<s:Fault>\n<faultcode>s:Client</faultcode>\n<faultstring>UPnPError</faultstring>\n<detail>\n<UPnPError xmlns=\"urn:schemas-upnp-org:control-1-0\">\n<errorCode>402</errorCode>\n<errorDescription>Missing InstanceID</errorDescription>\n</UPnPError>\n</detail>\n</s:Fault>\n</s:Body>\n</s:Envelope>\n",
                                  "headers":{
                                  	"content-length":"416",
                                  	"content-type":"text/xml;charset=\"utf-8\"",
                                  	"date":"Fri, 14 Jun 2019 18:11:42 GMT",
                                  	"ext":"",
                                  	"server":"Linux/2.6.36+, UPnP/1.0, Portable SDK for UPnP devices/1.6.17"},	
                                  	"request":{
                                  		"uri":{
                                  			"protocol":"http:",
                                  			"slashes":true,
                                  			"auth":null,
                                  			"host":"192.168.10.121:49152",
                                  			"port":"49152",
                                  			"hostname":"192.168.10.121",
                                  			"hash":null,
                                  			"search":null,
                                  			"query":null,
                                  			"pathname":"/upnp/control/rendercontrol1",
                                  			"path":"/upnp/control/rendercontrol1",
                                  			"href":"http://192.168.10.121:49152/upnp/control/rendercontrol1"},
                                  			"method":"POST",
                                  			"headers":{
                                  				"Content-Type":"text/xml; charset=\"utf-8\"",
                                  				"SOAPAction":"\"urn:schemas-upnp-org:service:RenderingControl:1#SetVolume\"",
                                  				"USER-AGENT":"UPnP/1.0, ioBroker.upnp",
                                  				"content-length":246
                                  			}
                                  		}
                                  	}                                                                                                         
                                  	Sent message: {
                                  		"uri":"http://192.168.10.121:49152/upnp/control/rendercontrol1",
                                  		"headers":{
                                  			"Content-Type":"text/xml; charset=\"utf-8\"",
                                  			"SOAPAction":"\"urn:schemas-upnp-org:service:RenderingControl:1#SetVolume\"",
                                  			"USER-AGENT":"UPnP/1.0, ioBroker.upnp"
                                  		},
                                  		"method":"POST",
                                  		"body":"\n<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">\n    <s:Body><u:SetVolume xmlns:u=\"urn:schemas-upnp-org:service:RenderingControl:1\"></u:SetVolume></s:Body>\n</s:Envelope>"
                                  	}
                                  

                                  hmm, "Missing InstanceID" aber die ist gesetzt...
                                  abgesehen von der Warnung:

                                  warn: javascript.0 Wrong type of upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.InstanceID: "number". Please fix, while deprecated and will not work in next versions.
                                  
                                  Jey Cee 1 Reply Last reply Reply Quote 1
                                  • Jey Cee
                                    Jey Cee Developer @a200 last edited by

                                    @a200 die instanceID wird nicht mit gesendet und da liegt das Problem. Das ist wohl ein Resultat daraus dass das Objekt number sein müsste, aber string oder was anderes ist.

                                    a200 1 Reply Last reply Reply Quote 1
                                    • a200
                                      a200 @Jey Cee last edited by a200

                                      @Jey-Cee

                                      1. Die Datenpunkte:
                                        "upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.InstanceID",
                                        "upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.Channel",
                                        "upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.DesiredVolume"

                                      sind alle vom typ string.

                                      aber sowohl die übergabe von int, auch als string funktionieren nicht.

                                      setState("upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.InstanceID", "0");
                                      setState("upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.Channel", "Master");
                                      setState("upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.DesiredVolume", "58");
                                      setState("upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.request", true);
                                      
                                      setState("upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.InstanceID", 0);
                                      setState("upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.Channel", "Master");
                                      setState("upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.DesiredVolume", 58);
                                      setState("upnp.0.WS300_664C.MediaRenderer.RenderingControl.SetVolume.request", true);
                                      

                                      Irgendwo in der InstanceID muss ein Unterschied zwischen den Versionen <1 und >1 geben.

                                      Die Fehlemeldung ist immer die gleiche: "Missing InstanceID"

                                      1 Reply Last reply Reply Quote 1
                                      • Segway
                                        Segway @a200 last edited by

                                        @a200 sagte in [Frage] Internetradio - wie geht das ?:

                                        @Jey Cee - Vielen Dank für den Adapter. Damit steuere ich meinen WLAN-Lautsprecher (August WS300) an.

                                        Habe dein Skript auf meine Bedürfnisse leicht angepasst. Aber Senderwahl, start, stop, pause, mute, lauter und leiser funktioniert bestens. Leider werden keine Status-Infos von meiner Box gesetzt, so dass ich darüber hinaus nicht viel machen kann.

                                        Super Arbeit. Danke!

                                        s200.

                                        Mein Menu ist noch nicht fertig. :roll:

                                        ! 1597_webradio.png

                                        Meine Änderungen:

                                        • Wird ein Sender angeklickt, dann wird dieser automatisch abgespielt.

                                        • Leuter/Leiser geht nur im Bereich zwischen 0 und 100.

                                        Hi @a200
                                        Suche genau diese Anwendung.
                                        Wie hast du deinen WLan Lautsprecher angesteuert --> das geht schon bei mir. Ich brauche nur die richtigen Widgets für

                                        Laut / Leiser
                                        Stream Urls !

                                        Was nimmst du da ?

                                        a200 1 Reply Last reply Reply Quote 0
                                        • M
                                          MaxxJ @bahnuhr last edited by MaxxJ

                                          Online radio is either pre-recorded MP3 files or live, via-a-microphone broadcasts that are streamed over the Internet. ... The listener, because without listeners there really isn't any point in broadcasting. The listener connects to your server and can hear anything you're streaming.

                                          1 Reply Last reply Reply Quote 0
                                          • a200
                                            a200 @Segway last edited by

                                            @Segway ich habe folgendes Skript am Laufen:

                                            var device = "upnp.0.WS300_664C"; //Hier das upnp Gerät eintragen das gesteuert werden soll. 
                                            var control = 'javascript.0.Tab2'; //Hier das Objekt eintragen wo die Steuerobjekte angelegt werden sollen
                                            var oldVol; 
                                            var outURL;
                                            var newVol;
                                            var debug = true;
                                            
                                            // Array mit mp3-Streams
                                            var sender = ["https://wdr-1live-live.icecastssl.wdr.de/wdr/1live/live/mp3/128/stream.mp3",
                                                "http://mp3.ffh.de/radioffh/hqlivestream.mp3",
                                                "http://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3",
                                                "http://109.199.61.243:80/4784/live.mp3",
                                                "http://mp3.ffh.de/ffhchannels/hq80er.mp3",
                                                "https://stream.rockland.de/rockland_ludwigshafen.mp3",
                                                "http://streamhq.top100station.com/top100station-high.mp3",
                                                "http://st01.dlf.de/dlf/01/128/mp3/stream.mp3",
                                                "http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3",
                                                "http://ndr-ndr2-niedersachsen.cast.addradio.de/ndr/ndr2/niedersachsen/mp3/128/stream.mp3",
                                                "http://mp3channels.webradio.rockantenne.de/heavy-metal",
                                                "http://streams.radiobob.de/bob-kuschelrock/mp3-192/mediaplayer",
                                                "http://mp3.radiorsg.c.nmdn.net/radiorsg/livestream.mp3",
                                                "http://ice912.echo.msk.ru:9120/stream",
                                                "http://mp3channels.webradio.antenne.de/80er-kulthits",
                                                "https://streams.regenbogen.de/rr-mannheim-128-mp3",
                                                "http://st03.dlf.de/dlf/03/128/mp3/stream.mp3",
                                                "http://tuner.m1.fm/charts.mp3"];
                                             
                                            // Array mit mp3-Sendern passend zu Streams
                                            var sname = ["1 Live", 
                                                "Hit Radio FFH", 
                                                "SWR 3", 
                                                "1 Live - Diggi", 
                                                "Hit Radio FFH - 80er", 
                                                "Rockland Radio - MH & LU", 
                                                "Top 100 - Station",
                                                "Deutschlandfunk",
                                                "hr info",
                                                "NDR 2",
                                                "Rock Antenne - Heavy Metal",
                                                "Kuschelrock",
                                                "Radio RSG",
                                                "Echo of Moscow",
                                                "ANTENNE BAYERN - 80er Kulthits",
                                                "Radio Regenbogen",
                                                "Deutschlandfunk Nova",
                                                "Top Of The Charts"];   
                                            
                                            //createState(name, initialValue, forceCreation, common, native, callback);
                                            createState(control + '.MediaControl.Play', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.play'});
                                            createState(control + '.MediaControl.Pause', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.pause'});
                                            createState(control + '.MediaControl.Stop', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.stop'});
                                            createState(control + '.AudioControl.Vol_UP', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.volume_up'});
                                            createState(control + '.AudioControl.Vol_Down', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.volume_down'});
                                            createState(control + '.AudioControl.Mute', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.mute'});
                                            createState(control + '.MediaControl.MediaURL', '', {type: 'string', read: 'true', write: 'true'});
                                            createState(control + '.Num2URL', '', {type: 'string', read: 'true', write: 'true'});
                                            createState(control + '.SenderName', '', {type: 'string', read: 'true', write: 'true'});
                                            
                                            on({id: control + '.Num2URL', change: "ne"}, function (obj) {
                                                var tmpnr = getState(control + '.Num2URL').val;
                                                setState(control + '.MediaControl.MediaURL', sender[tmpnr], true);
                                                setState(control + '.SenderName', sname[tmpnr], true);
                                            });
                                                
                                            
                                            on({id: control + '.MediaControl.Play', val: true
                                                }, function(obj){
                                            
                                                    if(debug) log("PLAY gedrückt");
                                                    //Wiedergabe starten
                                                    setState(device + '.MediaRenderer.AVTransport.Play.InstanceID', 0);
                                                    setState(device + '.MediaRenderer.AVTransport.Play.Speed', 1);
                                                    setState(device + '.MediaRenderer.AVTransport.Play', 'send');
                                                    setTimeout(function(){setState(obj.id, false);}, 150);
                                                });
                                                
                                            on({id: control + '.MediaControl.Pause', val: true
                                                }, function(obj){
                                                    
                                                    if(debug) log("PAUSE gedrückt");
                                                    //Wiedergabe pausieren
                                                    setState(device +  '.MediaRenderer.AVTransport.Pause.InstanceID', 0);
                                                    setState(device + '.MediaRenderer.AVTransport.Pause', 'send');
                                                    setTimeout(function(){setState(obj.id, false);}, 150);
                                                });
                                            
                                            on({id: control + '.MediaControl.Stop', val: true
                                                }, function(obj){
                                                    
                                                    if(debug) log("STOP gedrückt");
                                                    //Wiedergabe stoppen
                                                    setState(device +  '.MediaRenderer.AVTransport.Stop.InstanceID', 0);
                                                    setState(device + '.MediaRenderer.AVTransport.Stop', 'send');
                                                    setTimeout(function(){setState(obj.id, false);}, 150);
                                                });
                                                
                                            on({id: control + '.AudioControl.Vol_UP', val: true
                                                }, function(obj){
                                                    oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val;
                                                    
                                                    if(debug) log("old: " + oldVol);
                                                    if(oldVol != "" && oldVol != null) {
                                                        if(parseInt(oldVol) < 96) newVol = parseInt(oldVol) + 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden
                                                    }
                                                    else
                                                        newVol = 50;
                                                    if(debug) log("new: " + newVol);
                                            
                                                    //neue Lautstärke senden
                                                    setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master');
                                                    setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol);
                                                    setState(device +  '.MediaRenderer.RenderingControl.SetVolume.InstanceID', 0);
                                                    setState(device + '.MediaRenderer.RenderingControl.SetVolume', 'send');
                                                    setTimeout(function(){setState(obj.id, false);}, 150);
                                                    setState(device + '.MediaRenderer.RenderingControl.Volume', newVol);
                                                });
                                                
                                            on({id: control + '.AudioControl.Vol_Down', val: true
                                                }, function(obj){
                                                    oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val;
                                                    
                                                    if(debug) log("old: " + oldVol);
                                                    if(oldVol != "" && oldVol != null) {
                                                        if(parseInt(oldVol) > 4) newVol = parseInt(oldVol) - 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden
                                                    }
                                                    else
                                                        newVol = 50;
                                                    if(debug) log("new: " + newVol);
                                            
                                                    //neue Lautstärke senden
                                                    setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master');
                                                    setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol);
                                                    setState(device +  '.MediaRenderer.RenderingControl.SetVolume.InstanceID', 0);
                                                    setState(device + '.MediaRenderer.RenderingControl.SetVolume', 'send');
                                                    setTimeout(function(){setState(obj.id, false);}, 150);
                                                    setState(device + '.MediaRenderer.RenderingControl.Volume', newVol);
                                                });
                                                
                                            on({id: control + '.AudioControl.Mute', val: true
                                                }, function(){
                                                    var oldMute = getState(device + '.MediaRenderer.RenderingControl.Mute').val;
                                            
                                                    if(debug) log("MUTE gedrückt");        
                                                    if(!oldMute){
                                                        setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', 0);
                                                        setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master');
                                                        setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', 1);
                                                        setState(device + '.MediaRenderer.RenderingControl.SetMute', 'send');
                                                        setState(device + '.MediaRenderer.RenderingControl.Mute', true);            
                                                    }else{
                                                        setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', 0);
                                                        setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master');
                                                        setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', 0);
                                                        setState(device + '.MediaRenderer.RenderingControl.SetMute', 'send');
                                                        setState(device + '.MediaRenderer.RenderingControl.Mute', false);
                                                    }
                                                    //setTimeout(function(){setState(obj.id, false);}, 150);
                                                });
                                                
                                            on({id: control + '.MediaControl.MediaURL'
                                                }, function(obj){
                                                if(debug) log("NEUER SENDER gedrückt");
                                                setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.CurrentURI', obj.newState.val);
                                                setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.InstanceID', 0);
                                                setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI', 'send');
                                                setTimeout(function () {setState('javascript.0.Tab2.MediaControl.Play', true,true)}, 10000);
                                            });
                                            
                                            

                                            Damit werden Datenpunkte erzeugt über die der Player gesteuert wird.

                                            Hier ein Bespiel für ein Widget:

                                            [{"tpl":"tplIconState","data":{"oid":"javascript.0.Tab2.MediaControl.Play","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"text":"","value":"true","src":"/vis.0/main/Images/ButtonIcons/audio_play.png"},"style":{"left":"80px","top":"362px","width":"150px","height":"150px","background":"transparent","border-radius":"75px","border-width":"2px","border-style":"solid","border-color":"#777","padding-bottom":"","z-index":"10","box-shadow":"0 0 20px grey"},"widgetSet":"jqui"}]
                                            

                                            Weitere Buttons kannst du erstellen indem du die Object ID des Widgets an die Datenpunkte anpasst:
                                            javascript.0.Tab2.MediaControl.Play für PLAY
                                            javascript.0.Tab2.MediaControl.Stop für STOP
                                            javascript.0.Tab2.AudioControl.Vol_Down für LEISER
                                            javascript.0.Tab2.AudioControl.Vol_UP für LAUTER
                                            und in
                                            javascript.0.Tab2.Num2URL wird eine Zahl zwischen 0 und 9 angegeben. Die Nummer entspricht der Position in Sender-Array. Wird also in javascript.0.Tab2.Num2URL eine 2 eingetragen, dann wird in javascript.0.Tab2.MediaControl.MediaURL die URL "http://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3" eingetragen und abgespielt. Gleichzeitig wird in javascript.0.Tab2.SenderName "SWR 3" eingetragen.

                                            Hier ein Beispiel für ein Sender-Button:

                                            [{"tpl":"tplIconState","data":{"oid":"javascript.0.Tab2.Num2URL","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"value":"2","src":"/vis.0/main/Images/Radiosender/swr3.png"},"style":{"left":"1000px","top":"240px","width":"150px","height":"150px","border-radius":"10px","border-width":"5px","border-style":"solid","border-color":"{val:javascript.0.Tab2.Num2URL; val==\"2\"? \"#14ff1f\": \"#777\"}","box-shadow":"{val:javascript.0.Tab2.Num2URL; val==\"2\"? \"0 0 20px grey\": \"\"}","z-index":"5"},"widgetSet":"jqui"}]
                                            

                                            Melde dich, wenn du Fragen hast.

                                            LG, a200.

                                            Segway Karel Puhli 3 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            427
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            22
                                            107
                                            25396
                                            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