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] alten Samsung TV steuern.

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    244

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.5k

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

[Gelöst] alten Samsung TV steuern.

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
15 Beiträge 6 Kommentatoren 2.6k Aufrufe 2 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.
  • L Offline
    L Offline
    Lucky
    schrieb am zuletzt editiert von
    #6

    ja das ist der Callback der dir nen strich durch die Rechnung macht ;-)

    versuch mal so:

    createState('javascript.0.medien.TV_unten_leiser', 0,{type: "number", role: "Volume %"});
    
     on({id:'javascript.0.medien.TV_unten_leiser'}, function (obj){
    
    var i=0;
    
        Intervall = setInterval(function () {
    
            console.log(i);
            setState("samsung.0.Volume.Volume Down",val=true,akt=true);
    
            i++;
    
                if (i==obj.state.val){
                    i=0;
                    clearInterval(Intervall);
                }
    
        }, 500);
    
     }); 
    
    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      maniac
      schrieb am zuletzt editiert von
      #7

      Da reagiert er leider gar nicht drauf.

      Gruß Frank…

      1 Antwort Letzte Antwort
      0
      • L Offline
        L Offline
        Lucky
        schrieb am zuletzt editiert von
        #8

        also bei mir läuft das ohne Probleme, ich habe zwar nicht deinen TV, aber wenn ich z.b. eine Lampe steuere blinkt diese so oft wie angegeben, Voraussetzung ist das der state als Button angelegt ist.

        1 Antwort Letzte Antwort
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #9

          Klassischer JavaScript-Anfängerfehler:

          for (var i = 0; i < obj.state.val; i++) {
              setStateDelayed("samsung.0.Volume.Volume Down"/*Volume.Volume Down*/, true, 1000, false);
          }
          

          sorgt dafür, dass nach 1s der gleiche Wert mehrfach auf true gesetzt wird. Die Schleife pausiert nicht durch den Aufruf von setStateDelayed.

          Korrekt wäre per setInterval (kann man abbrechen) oder so:

          for (var i = 0; i < obj.state.val; i++) {
              setStateDelayed("samsung.0.Volume.Volume Down"/*Volume.Volume Down*/, true, 1000 * (i + 1), false);
          }
          

          Das sorgt dafür, dass eine Reihe von Befehlen eingereiht werden, jeweils nach 1,2,3,4,… Sekunden.

          Der Schlüssel hierfür ist die Berechnung des Timeouts 1000 * (i + 1)

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            maniac
            schrieb am zuletzt editiert von
            #10

            Danke.

            Made my day :)

            Der Sir Befehl klingt zwar etwas holprig, aber es funktioniert. "Hey Siri Stelle Fernseher lauter x" und "Hey Siri Stelle Fernseher leiser x"

            Gruß Frank…

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              MaikB85
              schrieb am zuletzt editiert von
              #11

              Ich wollte auch erst die Lautstärke vom Fernseher über Alexa Steuern. Habe auch einen Samsung. Hab es dann aber doch direkt mit dem Soundsystem gemacht. Vom Prinzip her ist das aber das gleiche. Ich kenne die aktuelle Lautstärke vom Soundsystem nicht und kann deshalb nur die Lautstärke per Sprachbefehl erhöhen oder reduzieren.

              Habe es dann so gelöst mit Javascript:

              on({id:'javascript.0.medien.Lautstärke_Soundsystem'}, function (obj){
              
                   var volumevalue = getState("javascript.0.medien.Lautstärke_Soundsystem").val;
                   var oldvolumevalue = getState("javascript.0.medien.Lautstärke_Soundsystem_vorher").val;
              
                   var diff = volumevalue - oldvolumevalue;
              
                   console.log("gesetzte Lautstärke: " + diff);
              
                   if (diff > 0) {
                       //Lautstärke erhöhen
                       console.log ("Lautstärke erhöhen");
              
                       // Maximale Lautstärkeerhöhung um 5 Schritte
                       if (diff > 10) {
                           diff = 10;
                       }
              
                       for (var i = 0; i < diff; i++) {
                          console.log (i);
                          setStateDelayed("harmony.0.Harmony Hub.Logitech Verstärker.VolumeUp", 1, 1000 * (i + 1), false);
                      }
                      setState("javascript.0.medien.Lautstärke_Soundsystem_vorher", volumevalue);
                   }
                   else if (diff < 0) {
                       //Lautstärke verringern
                       console.log ("Lautstärke verringern");
                       diff = diff * (-1);
              
                       // Maximale Lautstärkeerhöhung um 5 Schritte
                       if (diff > 10) {
                           diff = 10;
                       }
              
                       for (var i = 0; i < diff; i++) {
                          console.log (i);
                          setStateDelayed("harmony.0.Harmony Hub.Logitech Verstärker.VolumeDown", 1, 1000 * (i + 1), false);
                      }
                      setState("javascript.0.medien.Lautstärke_Soundsystem_vorher", volumevalue);
                   }
              
               });
              
              // 40 entspricht 100%
              // 2,5% Lautstärkeerhöhung pro Tastendruck
              // Variablen: Min: -20 ; Max: +20 (entspricht 0-100% = 40 Schritte)
              

              Dabei habe ich mir 2 Variablen im iobroker erstellt:

              • "Lautstärke_Soundsystem"

              • "Lautstärke_Soundsystem_vorher"
                1528_volume.png

              Die Grenzen der Variablen habe ich auf -20 und +20 begrenzt, da ich 40 Lautstärkestufen bis 100% habe. Da Alexa scheinbar nur Prozentangaben richtig setzt habe ich dass dann so machen müssen. Zu der Variable "Lautstärke_Soundsystem" habe ich dann ein Smart-Gerät "Lautstärke" im Cloud Adapter angelegt. So ändere ich die Lautstärke per Befehl "Alexa, erhöhe/reduziere Lautstärke um x%". Bei 5% wären das 2 Lautstärkestufen. Für eine Lautstärkestufe müsste ich theoretisch 2,5% sagen aber mit 2 Prozent funktioniert es auch. Die Variable nimmt dann zwar Gleitkommawerte an, aber es wird trotzdem nur einmal der Lautstärkebefehl an das Soundsystem gesendet. Mir war es halt wichtig, dass wenn ich Prozentwerte angebe, es auch wirklich so viel Prozent von der Lautstärke sind.

              Gruß Maik

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                prodigy999
                schrieb am zuletzt editiert von
                #12

                @maniac: wie hast Du den alten Samsung angebunden? Welchen Adapter hast Du dafür installiert?

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  maniac
                  schrieb am zuletzt editiert von
                  #13

                  @prodigy999:

                  @maniac: wie hast Du den alten Samsung angebunden? Welchen Adapter hast Du dafür installiert? `

                  Einfach den Samsung Adapter.

                  Gruß Frank…

                  1 Antwort Letzte Antwort
                  0
                  • M maniac

                    Hallo zusammen.

                    Ich bin dabei mein erstes Script zu basteln (fange mit Javascript bei Null an) und habe dazu hier im Forum einige Tipps gefunden, die ich übernommen habe.

                    Allerdings komme ich gerade nicht weiter.

                    Ich möchte Siri sagen "stelle TV 3,4,5,6% usw.. lauter/leiser". Also die gesprochene Zahl soll die Lautstärke um eben diese erhöhen/verringen.

                    Der TV reagiert schon wenn ich sage "Erhöhe Samsung um 10%", allerdings nur eine Stufe hoch.

                    Mir fehlt anscheinend nur die richtige Schleife?

                    Ich habe von Hand bei den Objekten einen Datenpunkt erstellt.

                    ! ````
                    {
                    "common": {
                    "name": "TV_unten",
                    "desc": "Lautstärke",
                    "type": "number",
                    "unit": "%",
                    "role": "value",
                    "def": 0,
                    "min": 0,
                    "max": 100
                    },
                    "native": {},
                    "acl": {
                    "object": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator",
                    "state": 1636
                    },
                    "_id": "javascript.0.medien.TV_unten",
                    "type": "state"
                    }

                    
                    Und folgendes Script.
                    
                    >! ````
                    >! on({
                        id: "javascript.0.medien.TV_unten",
                        change: "ne"
                    }, function (obj) {
                        var lauter = getState("javascript.0.medien.TV_unten"/*javascript.0.medien.TV_unten*/);
                        setState("samsung.0.Volume.Volume Up"/*Volume.Volume Up*/, true, false);    // machIrgendwas(x);
                    >!     
                    >! for(var lauter=getState("javascript.0.medien.TV_unten"/*javascript.0.medien.TV_unten*/); i<lauter; i++){/setstatedelayed("samsung.0.volume.volume/up"/*volume.volume/up*/,/true,/50,/false);/}/);/<e=""></lauter;>
                    

                    Ich dachte jetzt durch den Befehl setze ich den Datenpunkt auf "10", dieser wird ausgelesen und lässt dann die Schleife 10x durchlaufen.

                    Würde mir bitte jemand meinen Fehler aufzeigen?

                    F Offline
                    F Offline
                    fabalan
                    schrieb am zuletzt editiert von
                    #14

                    Hi @maniac bin gerade am basteln mit Siri, iobroker und Sonos.
                    Möchte Siri den Befehl geben: "Musik (Lautsärke) 10" bzw. "Musik lauter" etc.

                    Nun meine Frage, wie bekommst du den Laustärkewert z.b. "10" von Siri in iobroker?
                    Bzw. welches Gerät benutzt du für die Spracheingabe?

                    Vielen Dank

                    M 1 Antwort Letzte Antwort
                    0
                    • F fabalan

                      Hi @maniac bin gerade am basteln mit Siri, iobroker und Sonos.
                      Möchte Siri den Befehl geben: "Musik (Lautsärke) 10" bzw. "Musik lauter" etc.

                      Nun meine Frage, wie bekommst du den Laustärkewert z.b. "10" von Siri in iobroker?
                      Bzw. welches Gerät benutzt du für die Spracheingabe?

                      Vielen Dank

                      M Offline
                      M Offline
                      maniac
                      schrieb am zuletzt editiert von
                      #15

                      @fabalan sagte in [Gelöst] alten Samsung TV steuern.:

                      Hi @maniac bin gerade am basteln mit Siri, iobroker und Sonos.
                      Möchte Siri den Befehl geben: "Musik (Lautsärke) 10" bzw. "Musik lauter" etc.

                      Nun meine Frage, wie bekommst du den Laustärkewert z.b. "10" von Siri in iobroker?
                      Bzw. welches Gerät benutzt du für die Spracheingabe?

                      Vielen Dank

                      Ich hatte das damals mit dem Yahka Adapter gemacht. Habe das aber jetzt nicht mehr weiter verfolgt, da es für mich keinen Sinn mehr machte das per Sprache zu machen. Fernbedienung geht immer noch am schnellsten.

                      Gruß Frank…

                      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

                      585

                      Online

                      32.7k

                      Benutzer

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