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. Skripten / Logik
  4. [gelöst] Radio Lautstärke per Widget und Javascript steuern

NEWS

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

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

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

[gelöst] Radio Lautstärke per Widget und Javascript steuern

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 2 Kommentatoren 2.6k Aufrufe
  • Ä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.
  • P Offline
    P Offline
    photographix
    schrieb am zuletzt editiert von
    #1

    Hallo @ all

    ich schon wieder ;-)

    ich habe es geschafft dank eurer Hilfe einige alte Programme zu portieren und auf ioBroker zum laufen zu bringen. Mit dem großen Vorteil das die CCU2 sich nicht ab und an wegen exec aufhängt.

    Leider werde ich mit den neuen Blockly Editor nicht warm obwohl mir dies "einleuchtender" erscheint als bloßes Java Script. Ich bekomme mein altes Programm nicht "rund" gedacht. Das Programm macht auf der CCU nichts anderes als einen Wert in meinem URL String am Ende um 5 hoch zu zählen. Somit kann ich meine Musikbox https://www.chumby.com/ etwas lauter machen.

    PS: Natürlich wäre ein Slider viel cooler aber ich bekomme nicht mal das gebacken ;-) Steh noch am Anfang.

    Tips und Starthilfe gern gesehen. Wenn ich im VIS Widget Slider den Wert auslesen und dann hier im Script einfügen könnte wäre das möglich? So ähnlich wie :

    hole Widget Wert
    setze Widget Wert zu string url 
    sende url
    

    Somit würde ich mir das speichern der Variable sparen können das das Widget doch eh anzeigt was gerade der Wert ist.

    ! Lautstärke um 5 % erhöhen
    object sv = dom.GetObject("Level");
    real x = sv.Value();
    x = x + 5;
    if (x > 100) {x = 100;}
    sv.State(x);
    string url  = "http://192.168.200.24/cgi-bin/custom/setvol.sh?"#x.ToString(0);
    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");
    

    LG

    ioBroker in Docker auf Raspberry PI 4 / 4GB

    CCU2 mit Strommessung, JeeLink v3c für TX29DHT-ITs, Maxtox's RF-Link 868 Mhz Arduino, Tradfri Lampen, Shellys

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #2

      Hallo,

      ich probier mal das Skript im Javaskript Editor (im Ordner Common unter beliebigen aber sinnvollem Namen abspeichern und mit dem roten Dreieck aktivieren):

      // Variable mit Lautstärke-Soll erstellen:
      createState('VolSoll', {
         type: 'number',
         min: 0,
         max: 100,
         unit: '%',
         def: 0,
         desc: 'Lautstärke'
      });
      
      // Vorbereitungen fürs Senden eines Befehls über URL
      var request = require('request');
      var link = "http://192.168.200.24/cgi-bin/custom/setvol.sh?"
      
      // Auf Lautstärke Änderungen reagieren
      var idVol = 'javascript.0.VolSoll';
      on(idVol, function (data) {
          log('Lautstärke auf ' + data.state.val + '% geändert');
          link = link + parseInt(data.state.val,10); // link-stamm + ganze Zahl aus Schieber
          // Befehl absenden
          try request(link);
          catch (e) log('Fehler (try) Lautstärke via URL ändern: ' + e, 'error');
      });
      
      

      Ich habe das hier im Forumeditor geschrieben. Ich hoffe, es funktioniert. :)

      Dazu ein Schieberegler Widget mit dem Objekt (OID) 'Javascript.0.VolSoll'

      Gruß

      Pix

      PS: Und gib dem Thread mal einen besseren Namen. Welches Radio ist das? "Radio Lautstärke per Widget und Javascript steuern"

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        photographix
        schrieb am zuletzt editiert von
        #3

        Guten Morgen Pix,

        danke für die Starthilfe. Das Radio ist ein Chumby One. Relativ exotisch und alt ;-). Daher hat es auch keine Bidirektionale Kommunikation. Dein Script zeigt mir einen Fehler im Try Block (Zeile21,22). Es setzt auch den State nicht. Lasse ich den Try Block weg geht das Script im Debugger durch. Dem Widget habe ich die Objekt ID !javascript.0.VolSoll" gegeben kann diese aber im Baum nicht picken. Ist das korrekt? lasse ich "try" im Script weg zeigt auch der Debugger "ok" an. Geht aber scheinbar trotzdem nicht. Hatte dann noch versucht bevor request(link); kommt eine Ausgabe zu erzeugen im sinne von "echo(link)" oder "print(link)" die wird mir aber nicht angezeigt.

        05:56:54.679	[info]	javascript.0 script.js.Chumby.Control.volume: subscribe: {"pattern":{"id":"javascript.0.VolSoll","change":"ne"},"name":"script.js.Chumby.Control.volume"}
        05:56:54.679	[info]	javascript.0 script.js.Chumby.Control.volume: registered 1 subscription and 0 schedules
        05:57:48.727	[info]	javascript.0 Stop script script.js.Chumby.Control.volume
        05:57:48.759	[info]	javascript.0 Start javascript script.js.Chumby.Control.volume
        

        Edit:

        Ich hatte erst das Script im Verzeichnis wo ich die anderen Radio Scripte hatte. Jetzt ist es im "common" Zweig hat aber die selben Fehler. Der Try Catch Block scheint nicht zu gehen.

        ioBroker in Docker auf Raspberry PI 4 / 4GB

        CCU2 mit Strommessung, JeeLink v3c für TX29DHT-ITs, Maxtox's RF-Link 868 Mhz Arduino, Tradfri Lampen, Shellys

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          photographix
          schrieb am zuletzt editiert von
          #4

          Ich glaube ich habe den Fehler im Script gefunden. Die Variable "volume" summiert sich bei der URL.

          Dies konnte ich erst sehen als ich mir die URL ausgeben lassen habe. Das der try catch Block nicht funktionierte habe ich diesen aus kommentiert.

          Wenn ich das Script so umbaue geht es. Danke für die Vorarbeit!

          var idVol = 'javascript.0.VolSoll';
          on(idVol, function (data) {
              log('Lautstärke auf ' + data.state.val + '% geändert');
              log (link);
              request(link + data.state.val);
          });
          

          ioBroker in Docker auf Raspberry PI 4 / 4GB

          CCU2 mit Strommessung, JeeLink v3c für TX29DHT-ITs, Maxtox's RF-Link 868 Mhz Arduino, Tradfri Lampen, Shellys

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            pix
            schrieb am zuletzt editiert von
            #5

            Schön, dass ich helfen konnte.

            Die Fehler im Skript kommen leider eben daher, dass ich es nicht ausprobiert habe. Ist praktisch der erste Blitz, der mir durch den Kopf schoss. Natürlich summiert sich die Variable auf, das hast du genau richtig gelöst.

            Try & Catch sollten nur verhindern, dass gleich die ganze Instanz abschmiert, wenn mit der Adresse oder der Erreichbarkeit des Radios was nicht stimmt.

            Gruß

            Pix

            ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

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


            Support us

            ioBroker
            Community Adapters
            Donate

            596

            Online

            32.4k

            Benutzer

            81.5k

            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