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

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    210

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    578

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

[Frage] Internetradio - wie geht das ?

Geplant Angeheftet Gesperrt Verschoben Visualisierung
107 Beiträge 22 Kommentatoren 31.6k 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 - 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
                  • a200A a200

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

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

                    @a200
                    Klar ... wo soll ich bewerten ???

                    P.S.:
                    Ne Idee wie man mit mehreren WLan Lautsprechern in unterschiedlichen Räumen umgehen sollte, dass die Musik auf mehreren abspielt ?

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

                    1 Antwort Letzte Antwort
                    0
                    • kmxakK kmxak

                      HTML Widget

                      
                      <audio controls/autoplay="autoplay"><source src="http://mp3stream7.apasf.apa.at:8000/;stream.mp3" type="audio/mp3">ORF.</audio>
                      
                      

                      Hier das Widget

                      [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","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,"html":"
                      \n
                      
                      <audio controls/autoplay="\&quot;autoplay\&quot;"><source src="\&quot;http://mp3stream7.apasf.apa.at:8000/;stream.mp3\&quot;" type="\&quot;audio/mp3\&quot;">ORF.</audio>
                      
                      "},"style":{"left":"902px","top":"376px","width":"324px","height":"72px"},"widgetSet":"basic"}]
                      
                      P Offline
                      P Offline
                      Phil87
                      schrieb am zuletzt editiert von
                      #92

                      @kmxak ich habe eine Frage zu dem HTML Widget, ich möchte gerne https://www.jumpradio.de/musik/livestreamplayer/index.html?channelname=live diesen link in den Widget integrieren. Was muss ich hier beachten? kann ich einfach den http: Punkt wechsel oder sieht der Link anders aus?

                      kmxakK 1 Antwort Letzte Antwort
                      0
                      • P Phil87

                        @kmxak ich habe eine Frage zu dem HTML Widget, ich möchte gerne https://www.jumpradio.de/musik/livestreamplayer/index.html?channelname=live diesen link in den Widget integrieren. Was muss ich hier beachten? kann ich einfach den http: Punkt wechsel oder sieht der Link anders aus?

                        kmxakK Offline
                        kmxakK Offline
                        kmxak
                        Most Active
                        schrieb am zuletzt editiert von
                        #93

                        @Phil87

                        Die URL sollte folgende sein:

                        http://avw.mdr.de/streams/284320-0_mp3_high.m3u
                        

                        Die URL einfach im Widget ändern.
                        Da ich das seit 2017 aber nicht mehr nutze weiß ich nicht ob das klappt.

                        Kannst ja mal probieren.

                        Gruß Alex

                        P 1 Antwort Letzte Antwort
                        0
                        • kmxakK kmxak

                          @Phil87

                          Die URL sollte folgende sein:

                          http://avw.mdr.de/streams/284320-0_mp3_high.m3u
                          

                          Die URL einfach im Widget ändern.
                          Da ich das seit 2017 aber nicht mehr nutze weiß ich nicht ob das klappt.

                          Kannst ja mal probieren.

                          P Offline
                          P Offline
                          Phil87
                          schrieb am zuletzt editiert von
                          #94

                          @kmxak

                          leider klappt es nicht. Gibt es noch eine andere Idee die ich nutzen kann?

                          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.

                            Karel PuhliK Offline
                            Karel PuhliK Offline
                            Karel Puhli
                            schrieb am zuletzt editiert von
                            #95

                            @a200

                            Nabend!
                            Eine Frage, funktionieren die Skripte / Widgets noch?
                            Sitze zurzeit an einer neuen VIS und sammle Ideen...
                            Danke und beste Grüße!

                            a200A 1 Antwort Letzte Antwort
                            0
                            • Karel PuhliK Karel Puhli

                              @a200

                              Nabend!
                              Eine Frage, funktionieren die Skripte / Widgets noch?
                              Sitze zurzeit an einer neuen VIS und sammle Ideen...
                              Danke und beste Grüße!

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

                              @karel-puhli werde ich heute prüfen und berichten!

                              IoBroker auf QNAP TS-451, Raspi und NUC

                              Karel PuhliK 1 Antwort Letzte Antwort
                              0
                              • a200A a200

                                @karel-puhli werde ich heute prüfen und berichten!

                                Karel PuhliK Offline
                                Karel PuhliK Offline
                                Karel Puhli
                                schrieb am zuletzt editiert von
                                #97

                                @a200

                                Schon ein Ergebnis?

                                Beste Grüße!

                                a200A 1 Antwort Letzte Antwort
                                0
                                • Karel PuhliK Karel Puhli

                                  @a200

                                  Schon ein Ergebnis?

                                  Beste Grüße!

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

                                  @karel-puhli out of the box geht es nicht. Ich schau mal ob was angepasst werden muss.

                                  IoBroker auf QNAP TS-451, Raspi und NUC

                                  1 Antwort Letzte Antwort
                                  0
                                  • metaxaM metaxa

                                    Hallo Schubi!

                                    Wunschgemäße Übersiedelung hierher, da http://forum.iobroker.net/viewtopic.php?f=17&t=6352&e=1&view=unread#p66543 ein Anderes war
                                    @Schubi:

                                    @metaxa: Schaut super aus das Webradio, kannst du bitte genauer erklären wie du das gemacht hast?

                                    MPD und IoBroker laufen auf dem Raspi? Der Raspi spielt dann die Musi über die integrierte Buchse?

                                    Würde es da nicht reichen wenn nur MPD auf dem RASPI im Badezimmer läuft?

                                    Vielleicht könnte man das in diesen Thread - edit metaxa: eben hier - weiterdiskutieren.

                                    Danke schon mal.LG Schubi. `
                                    <u>Meine Ausgangslage:</u>

                                    Raspi3 für iOBroker, vis und bissi Umfeld, läuft inaktiv seit ca. 6 Monaten im Hintergrund im Testbetrieb

                                    Raspi2 (ehem. LXCCU, war echt ein toller Start in die neue Welt) sollte fürs BadRadio reichen

                                    <u>Was wollte ich</u> (wir machen unser Bad und WC neu)<u>:</u>

                                    Keine Sonoslösung, sondern eine ausbaufähige Lowbudgetlösung mit weitgehend vorhandenem Equipment.

                                    <u>Was habe ich zusätzlich gekauft:</u>

                                    https://www.amazon.de/gp/product/B003MTTJOY/ref=od_aui_detailpages01?ie=UTF8&psc=1 ~€10,–

                                    https://www.amazon.de/Soundkarte-UGREEN-Kopfh%C3%B6rer-Mikrofonanschluss-kompatibel/dp/B016CU2PEU/ref=sr_1_1?ie=UTF8&qid=1494528924&sr=8-1&keywords=USB+Soundkarte+UGREEN+Externe+USB+Soundkarte+Adapter+Wei%C3%9F+mit+3%2C5mm+Kopfh%C3%B6rer+und+Mikrofonanschluss%2C+Plug+%26+Play+Sound+Card+geeignet+f%C3%BCr+Computer%2C+Notebook%2C (die integrierte Buchse taugt beim Raspi3 halbwegs, beim Raspi2 kriegte ich es nicht hin) ~€9,–

                                    https://www.amazon.de/LEPY-LP-808-Silver-Digital-Verst%C3%A4rker-Stereo-Audio-20-Stromversorgung/dp/B013UCBW8I/ref=sr_1_1?s=automotive&ie=UTF8&qid=1494529295&sr=1-1&keywords=LEPY+LP-808-Silver+Digital-Verst%C3%A4rker+Stereo-Audio-20+W%2C+3+A-Stromversorgung%2C+Silber (das gleiche Ding bespielt seit 2 Jahren zufriedenstellend mein "Sommerkino" auf der Terrasse) ~€20,–

                                    2x Deckeneinbauspeaker á ~15,-- hatte ich schon

                                    <u>Jetzt-Ziel:</u>

                                    Mein Raspi3 mit vis soll auf den HM Bewegungsmeder reagieren und den Raspi2 im Badezimmer sagen er soll jetzt so und so lange diesen oder jenen Sender abspielen und über vis am Tablet anzeigen.

                                    <u>Zukunfts-Ziel:</u>

                                    Im Badezimmer soll in der Früh der Radio den Lieblingssender meiner Frau spielen (funkt schon :D ), am Abend vielleicht eine gut sortierte Jazzplaylist. In der Nacht soll er grundsätzlich schweigen, auch wenn Bewegung erkannt.

                                    So, das meine Ausführungen. Worüber genau möchtest du diskutieren, bzw. wo kann ich dir versuchen zu helfen?

                                    LG aus Wien

                                    mxa

                                    L Offline
                                    L Offline
                                    Lueghi
                                    schrieb am zuletzt editiert von Lueghi
                                    #99

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

                                    ...
                                    Raspi2 (ehem. LXCCU, war echt ein toller Start in die neue Welt) sollte fürs BadRadio reichen

                                    ...

                                    Hallo metaxa, da ich auch mit der Überlegung eines Badradios spiele, bin ich über Deinen Beitrag gestolpert :grin: .
                                    Mir ist aber eine Sache noch nicht so ganz klar daher hoffe ich auf eine Erklärung:

                                    Läuft auf dem Bad-Raspi auch ein iobroker? Und wenn ja ist der nur dafür da, damit man ihn vom Master-iobroker aus steuern kann?
                                    Hatte das bisher so verstanden, das der mpd-Adapter auf dem Master-iobroker einen mpd-client (in dem Fall der Bad-Raspi) DIREKT ansteuern kann.

                                    Gruß Lueghi
                                    (iobroker unter proxmox)

                                    metaxaM 1 Antwort Letzte Antwort
                                    0
                                    • L Lueghi

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

                                      ...
                                      Raspi2 (ehem. LXCCU, war echt ein toller Start in die neue Welt) sollte fürs BadRadio reichen

                                      ...

                                      Hallo metaxa, da ich auch mit der Überlegung eines Badradios spiele, bin ich über Deinen Beitrag gestolpert :grin: .
                                      Mir ist aber eine Sache noch nicht so ganz klar daher hoffe ich auf eine Erklärung:

                                      Läuft auf dem Bad-Raspi auch ein iobroker? Und wenn ja ist der nur dafür da, damit man ihn vom Master-iobroker aus steuern kann?
                                      Hatte das bisher so verstanden, das der mpd-Adapter auf dem Master-iobroker einen mpd-client (in dem Fall der Bad-Raspi) DIREKT ansteuern kann.

                                      metaxaM Offline
                                      metaxaM Offline
                                      metaxa
                                      schrieb am zuletzt editiert von metaxa
                                      #100

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

                                      hoffe ich auf eine Erklärung:

                                      Bin mittlerweile auf ein anderes System erfolgreich umgestiegen --> LMS. Warum? Damit "erreiche" ich sämtliche Player im Haus und kann diese direkt, oder in Gruppen für Durchsagen oder Radio, oder ..... direkt aus iO steuern.

                                      Google Suchbegriffe:
                                      Sqeezebox --> moOde --> https://moodeaudio.org/
                                      LMS --> Logitech Media Server

                                      Ich habe vor ca. 2 Jahren

                                      • mir einen NUC geleistet und darauf Proxmox installiert.
                                      • darauf (unter Anderen) einen Container eingereichtet und den LogitechMediaServer installiert
                                      • auf meinem alten RPI2 das MoOde Image aufgespielt
                                      • danach am LMS die UpnP/DLNA bridge installiert
                                      • auf miner iO Hauptinstallation den SqueezeboxRPC Adapter installiert

                                      Seitdem steuere ich meinen Mediaplayer auf der Terrasse, im Bad, 2 IKEA Sonos Lautsprecher alle direkt aus dem iO an.

                                      Funktioniert prächtig!

                                      cf05df78-d907-461e-98a8-3514bb609a8c-image.png

                                      2aef84a9-c981-4841-89ba-1f196896d075-image.png

                                      LG, mxa

                                      L 1 Antwort Letzte Antwort
                                      1
                                      • metaxaM metaxa

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

                                        hoffe ich auf eine Erklärung:

                                        Bin mittlerweile auf ein anderes System erfolgreich umgestiegen --> LMS. Warum? Damit "erreiche" ich sämtliche Player im Haus und kann diese direkt, oder in Gruppen für Durchsagen oder Radio, oder ..... direkt aus iO steuern.

                                        Google Suchbegriffe:
                                        Sqeezebox --> moOde --> https://moodeaudio.org/
                                        LMS --> Logitech Media Server

                                        Ich habe vor ca. 2 Jahren

                                        • mir einen NUC geleistet und darauf Proxmox installiert.
                                        • darauf (unter Anderen) einen Container eingereichtet und den LogitechMediaServer installiert
                                        • auf meinem alten RPI2 das MoOde Image aufgespielt
                                        • danach am LMS die UpnP/DLNA bridge installiert
                                        • auf miner iO Hauptinstallation den SqueezeboxRPC Adapter installiert

                                        Seitdem steuere ich meinen Mediaplayer auf der Terrasse, im Bad, 2 IKEA Sonos Lautsprecher alle direkt aus dem iO an.

                                        Funktioniert prächtig!

                                        cf05df78-d907-461e-98a8-3514bb609a8c-image.png

                                        2aef84a9-c981-4841-89ba-1f196896d075-image.png

                                        LG, mxa

                                        L Offline
                                        L Offline
                                        Lueghi
                                        schrieb am zuletzt editiert von
                                        #101

                                        @metaxa
                                        Mach Dir bitte keinen Streß! Es eilt nicht bei mir ....

                                        Gruß Lueghi
                                        (iobroker unter proxmox)

                                        L 1 Antwort Letzte Antwort
                                        0
                                        • L Lueghi

                                          @metaxa
                                          Mach Dir bitte keinen Streß! Es eilt nicht bei mir ....

                                          L Offline
                                          L Offline
                                          Lueghi
                                          schrieb am zuletzt editiert von Lueghi
                                          #102

                                          @metaxa
                                          Da hat sich meine Antwort mit Deiner Erklärung überschnitten ....
                                          Danke für die Info. Ich habe eine ähnliche Konstellation:

                                          • proxmox auf einem HP Microserver
                                          • Twonky als Medienserver

                                          Werde mir das mal ansehen.

                                          Gruß Lueghi
                                          (iobroker unter proxmox)

                                          metaxaM OliverIOO 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          911

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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