Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Frage] Internetradio - wie geht das ?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

[Frage] Internetradio - wie geht das ?

Geplant Angeheftet Gesperrt Verschoben Visualisierung
107 Beiträge 22 Kommentatoren 30.4k Aufrufe 12 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • a200A 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 CeeJ Online
    Jey CeeJ Online
    Jey Cee
    Developer
    schrieb am zuletzt editiert von
    #71

    @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.

    Persönlicher Support
    Spenden -> paypal.me/J3YC33

    a200A 1 Antwort Letzte Antwort
    1
    • Jey CeeJ Jey Cee

      @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.

      a200A Offline
      a200A Offline
      a200
      schrieb am zuletzt editiert von
      #72

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

      IoBroker auf QNAP TS-451, Raspi und NUC

      a200A 1 Antwort Letzte Antwort
      1
      • a200A a200

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

        a200A Offline
        a200A Offline
        a200
        schrieb am zuletzt editiert von
        #73

        @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);
        });
        
        

        IoBroker auf QNAP TS-451, Raspi und NUC

        1 Antwort Letzte Antwort
        1
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #74

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

          116:17

          Bitte 1.0.12 testen.

          a200A 1 Antwort Letzte Antwort
          1
          • BluefoxB Bluefox

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

            116:17

            Bitte 1.0.12 testen.

            a200A Offline
            a200A Offline
            a200
            schrieb am zuletzt editiert von a200
            #75

            @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.

            IoBroker auf QNAP TS-451, Raspi und NUC

            BluefoxB Jey CeeJ 2 Antworten Letzte Antwort
            1
            • a200A 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.

              BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #76

              @a200 und was ist mit 1.0.12?

              1 Antwort Letzte Antwort
              1
              • a200A 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.

                Jey CeeJ Online
                Jey CeeJ Online
                Jey Cee
                Developer
                schrieb am zuletzt editiert von
                #77

                @a200

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

                So sollte das jetzt wohl funktionieren.

                Persönlicher Support
                Spenden -> paypal.me/J3YC33

                a200A 1 Antwort Letzte Antwort
                1
                • Jey CeeJ Jey Cee

                  @a200

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

                  So sollte das jetzt wohl funktionieren.

                  a200A Offline
                  a200A Offline
                  a200
                  schrieb am zuletzt editiert von
                  #78

                  @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.

                  IoBroker auf QNAP TS-451, Raspi und NUC

                  1 Antwort Letzte Antwort
                  1
                  • Jey CeeJ Online
                    Jey CeeJ Online
                    Jey Cee
                    Developer
                    schrieb am zuletzt editiert von
                    #79

                    @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.

                    Persönlicher Support
                    Spenden -> paypal.me/J3YC33

                    a200A 1 Antwort Letzte Antwort
                    1
                    • Jey CeeJ Jey Cee

                      @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.

                      a200A Offline
                      a200A Offline
                      a200
                      schrieb am zuletzt editiert von
                      #80

                      @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.
                      

                      IoBroker auf QNAP TS-451, Raspi und NUC

                      Jey CeeJ 1 Antwort Letzte Antwort
                      1
                      • a200A a200

                        @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 CeeJ Online
                        Jey CeeJ Online
                        Jey Cee
                        Developer
                        schrieb am zuletzt editiert von
                        #81

                        @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.

                        Persönlicher Support
                        Spenden -> paypal.me/J3YC33

                        a200A 1 Antwort Letzte Antwort
                        1
                        • Jey CeeJ Jey Cee

                          @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.

                          a200A Offline
                          a200A Offline
                          a200
                          schrieb am zuletzt editiert von a200
                          #82

                          @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"

                          IoBroker auf QNAP TS-451, Raspi und NUC

                          1 Antwort Letzte Antwort
                          1
                          • a200A a200

                            @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.

                            SegwayS Offline
                            SegwayS Offline
                            Segway
                            schrieb am zuletzt editiert von
                            #83

                            @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 ?

                            Gruß Dirk
                            Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                            a200A 1 Antwort Letzte Antwort
                            0
                            • bahnuhrB bahnuhr

                              MOD-Edit by eric2905; 12.05.2017 / 10;55; Betreff geändert

                              Hallo,

                              ich möchte eine view erstellen wo ich Internetradiosender auswählen kann und dann am tablet hören kann.

                              Dazu noch einen slider um die lautstärke zu verhindern.

                              Soviel zum Wunsch.

                              Nur wie realisiere ich das.

                              Gefunden habe ich adapter wie "kodi" als auch "foobar".

                              Nur wie funktionieren diese.

                              Wie und wo werden da die Internetradio links eingestellt, etc.

                              Könnt ihr mir mal schreiben wie das funktioniert bzw. einen link wo das genauer beschrieben steht.

                              Die ? mit dem russischen Text; damit komm ich nicht weiter.

                              mfg

                              Dieter

                              M Offline
                              M Offline
                              MaxxJ
                              schrieb am zuletzt editiert von MaxxJ
                              #84

                              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.

                              https://quickpaymydoctor.com/

                              1 Antwort Letzte Antwort
                              0
                              • SegwayS Segway

                                @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 ?

                                a200A Offline
                                a200A Offline
                                a200
                                schrieb am zuletzt editiert von
                                #85

                                @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.

                                IoBroker auf QNAP TS-451, Raspi und NUC

                                SegwayS Karel PuhliK 3 Antworten Letzte Antwort
                                1
                                • a200A a200

                                  @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.

                                  SegwayS Offline
                                  SegwayS Offline
                                  Segway
                                  schrieb am zuletzt editiert von
                                  #86

                                  @a200
                                  Suuuper ! Danke, das hilft mir weiter. Das bastel ich mir mal zusammen. Wenn was ist melde ich mich :-) DANKE

                                  Gruß Dirk
                                  Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                                  1 Antwort Letzte Antwort
                                  0
                                  • a200A a200

                                    @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.

                                    SegwayS Offline
                                    SegwayS Offline
                                    Segway
                                    schrieb am zuletzt editiert von Segway
                                    #87

                                    @a200

                                    Jo soweit habe ich es jetzt implementiert und experimentiert.

                                    Bei meinem Lautsprecher muss zwangsläufig auch unter

                                    SetAVTransportURI

                                    der request gesetzt werden (kleine Klingel / Tastendruck) --> nur dann wird der neue Sender übernommen.
                                    Habe das versucht in die Rubrik WIEDERGABE STARTEN (im javascript) zu implementieren aber leider geht es nicht :-( Ne Idee ?

                                    UPDATE:
                                    es geht jetzt aber ich muss den Datenpunkt anpassen --> .request und dann nicht auf SEND sondern auf TRUE setzen.

                                    Frage:
                                    Kann ich einfach noch ein paar Sender hinzufügen ? Habe das gemacht aber er nimmt den 18.-20igsten Sender NICHT an :-(

                                    Gruß Dirk
                                    Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                                    a200A 1 Antwort Letzte Antwort
                                    0
                                    • SegwayS Segway

                                      @a200

                                      Jo soweit habe ich es jetzt implementiert und experimentiert.

                                      Bei meinem Lautsprecher muss zwangsläufig auch unter

                                      SetAVTransportURI

                                      der request gesetzt werden (kleine Klingel / Tastendruck) --> nur dann wird der neue Sender übernommen.
                                      Habe das versucht in die Rubrik WIEDERGABE STARTEN (im javascript) zu implementieren aber leider geht es nicht :-( Ne Idee ?

                                      UPDATE:
                                      es geht jetzt aber ich muss den Datenpunkt anpassen --> .request und dann nicht auf SEND sondern auf TRUE setzen.

                                      Frage:
                                      Kann ich einfach noch ein paar Sender hinzufügen ? Habe das gemacht aber er nimmt den 18.-20igsten Sender NICHT an :-(

                                      a200A Offline
                                      a200A Offline
                                      a200
                                      schrieb am zuletzt editiert von
                                      #88

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

                                      @a200
                                      Frage:
                                      Kann ich einfach noch ein paar Sender hinzufügen ? Habe das gemacht aber er nimmt den 18.-20igsten Sender NICHT an :-(

                                      das sollte problemlos gehen. Du musst die beiden Arrays sender und sname um die neuen Einträge erweitern.

                                      var sender = ["https://wdr-1live-live.icecastssl.wdr.de/wdr/1live/live/mp3/128/stream.mp3",
                                          "http://mp3.ffh.de/radioffh/hqlivestream.mp3",
                                          ...
                                          "http://tuner.m1.fm/charts.mp3", // Komma nicht vergessen
                                          "http://........mp3"];           // neuer Eintrag
                                      
                                      var sname = ["1 Live", 
                                          "Hit Radio FFH", 
                                          ...
                                          "Top Of The Charts", // Komma nicht vergessen
                                          "Sendername"];           // neuer Eintrag
                                      

                                      Und dann noch ein Button bei dem du die "18" in den Datenpunkt "javascript.0.Tab2.Num2URL" schreibst.

                                      IoBroker auf QNAP TS-451, Raspi und NUC

                                      SegwayS 1 Antwort Letzte Antwort
                                      1
                                      • a200A a200

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

                                        @a200
                                        Frage:
                                        Kann ich einfach noch ein paar Sender hinzufügen ? Habe das gemacht aber er nimmt den 18.-20igsten Sender NICHT an :-(

                                        das sollte problemlos gehen. Du musst die beiden Arrays sender und sname um die neuen Einträge erweitern.

                                        var sender = ["https://wdr-1live-live.icecastssl.wdr.de/wdr/1live/live/mp3/128/stream.mp3",
                                            "http://mp3.ffh.de/radioffh/hqlivestream.mp3",
                                            ...
                                            "http://tuner.m1.fm/charts.mp3", // Komma nicht vergessen
                                            "http://........mp3"];           // neuer Eintrag
                                        
                                        var sname = ["1 Live", 
                                            "Hit Radio FFH", 
                                            ...
                                            "Top Of The Charts", // Komma nicht vergessen
                                            "Sendername"];           // neuer Eintrag
                                        

                                        Und dann noch ein Button bei dem du die "18" in den Datenpunkt "javascript.0.Tab2.Num2URL" schreibst.

                                        SegwayS Offline
                                        SegwayS Offline
                                        Segway
                                        schrieb am zuletzt editiert von
                                        #89

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

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

                                        @a200
                                        Frage:
                                        Kann ich einfach noch ein paar Sender hinzufügen ? Habe das gemacht aber er nimmt den 18.-20igsten Sender NICHT an :-(

                                        das sollte problemlos gehen. Du musst die beiden Arrays sender und sname um die neuen Einträge erweitern.

                                        var sender = ["https://wdr-1live-live.icecastssl.wdr.de/wdr/1live/live/mp3/128/stream.mp3",
                                            "http://mp3.ffh.de/radioffh/hqlivestream.mp3",
                                            ...
                                            "http://tuner.m1.fm/charts.mp3", // Komma nicht vergessen
                                            "http://........mp3"];           // neuer Eintrag
                                        
                                        var sname = ["1 Live", 
                                            "Hit Radio FFH", 
                                            ...
                                            "Top Of The Charts", // Komma nicht vergessen
                                            "Sendername"];           // neuer Eintrag
                                        

                                        Und dann noch ein Button bei dem du die "18" in den Datenpunkt "javascript.0.Tab2.Num2URL" schreibst.

                                        Jau habe ich gesehen....nur leider hat Murphis Gesetzt eingeschlagen.
                                        Genau den Stream, den ich einfügte wollte er nicht nehmen, warum auch immer !!! Somit blieb der letzte Sender aktiv :-) VLC spielte den problemlos ab.

                                        Habe mir nun von surfmusik die playlist des Senders heruntergeladen und in Notepad geöffnet und diese Adresse eingegeben --> siehe da ES GEHT NUN :-)

                                        Gruß Dirk
                                        Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                                        a200A 1 Antwort Letzte Antwort
                                        0
                                        • SegwayS Segway

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

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

                                          @a200
                                          Frage:
                                          Kann ich einfach noch ein paar Sender hinzufügen ? Habe das gemacht aber er nimmt den 18.-20igsten Sender NICHT an :-(

                                          das sollte problemlos gehen. Du musst die beiden Arrays sender und sname um die neuen Einträge erweitern.

                                          var sender = ["https://wdr-1live-live.icecastssl.wdr.de/wdr/1live/live/mp3/128/stream.mp3",
                                              "http://mp3.ffh.de/radioffh/hqlivestream.mp3",
                                              ...
                                              "http://tuner.m1.fm/charts.mp3", // Komma nicht vergessen
                                              "http://........mp3"];           // neuer Eintrag
                                          
                                          var sname = ["1 Live", 
                                              "Hit Radio FFH", 
                                              ...
                                              "Top Of The Charts", // Komma nicht vergessen
                                              "Sendername"];           // neuer Eintrag
                                          

                                          Und dann noch ein Button bei dem du die "18" in den Datenpunkt "javascript.0.Tab2.Num2URL" schreibst.

                                          Jau habe ich gesehen....nur leider hat Murphis Gesetzt eingeschlagen.
                                          Genau den Stream, den ich einfügte wollte er nicht nehmen, warum auch immer !!! Somit blieb der letzte Sender aktiv :-) VLC spielte den problemlos ab.

                                          Habe mir nun von surfmusik die playlist des Senders heruntergeladen und in Notepad geöffnet und diese Adresse eingegeben --> siehe da ES GEHT NUN :-)

                                          a200A Offline
                                          a200A Offline
                                          a200
                                          schrieb am zuletzt editiert von
                                          #90

                                          @Segway Cool. Es freut mich, dass es geht. Über eine positive Bewertung würde ich mich freuen.

                                          und @Jey-Cee nicht vergessen. Seine Arbeit war die Grundlage für meine Erweiterung.

                                          IoBroker auf QNAP TS-451, Raspi und NUC

                                          SegwayS 1 Antwort Letzte Antwort
                                          2
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          592

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe