Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Cloud Dienste
  4. Javascript-Gerät (ohne an/aus) für Alexa anlegen?

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    266

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

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

Javascript-Gerät (ohne an/aus) für Alexa anlegen?

Javascript-Gerät (ohne an/aus) für Alexa anlegen?

Scheduled Pinned Locked Moved Cloud Dienste
12 Posts 4 Posters 1.8k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    derrapf
    wrote on last edited by
    #1

    Hallo alle

    Ich hatte diese Frage schon mal im Thread http://forum.iobroker.net/viewtopic.php?f=37&t=5943

    gestellt. Da der aber als gelöst arkiert ist, wird ihn wohl niemand mehr anschauen; deswegen hier nochmal als neuer Thread.

    Und zwar ist es mir mit dem dort genannten Stück Code gelungen den Verstärker über einen Http Request für Mediola mit "Alexa Verstärker einschalten" ein- bzw. auszuschalten.

    Ich habe dazu folgenden Code verwendet:

    var code_ampon   = '19082600000100240708C3...101010102010102040506';
    var code_ampoff  = '19082600000100240708C3...22F00905DB20001020101';
    
    var str_url_pre  = '/command?XC_PASS=pass&code=';
    var str_url_tail = '&XC_FNC=Send2';
    
    var logOn           = true;     // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
    var forecreation    = false;    // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
    var http = require('http');     // Node Module http verwenden
    
    var options_on = {
      host: '192.168.111.155',   
      path: str_url_pre + code_ampon + str_url_tail,    
      port: 80,   
      method: 'GET'                // in der Regel: "GET"
    };
    
    var options_off = {
      host: '192.168.1.155',
      path: str_url_pre + code_ampoff + str_url_tail,
      port: 80,
      method: 'GET'                // in der Regel: "GET"
    };
    
    // Datenpunkte anlegen:
    // -----------------------------------------------------------------------------
    
    var pfad                = "mediola.alexatrigger" + "."; // PFad unter dem in der Javascript-Instanz die Datenpunkte angelegt werden sollen:
    
    // Datenpunktnamen:
    var idAlexaVerstaerker      = pfad + 'Verstärker';
    
    createState(idAlexaVerstaerker, 0, forecreation, {
         name: 'Verstärker',
         desc: 'Trigger mit Level für Alexa um einen hhtp request zu erzeugen',
         type: 'number',
         unit: '',
         role: 'value'
    });
    
    // Funktionen:
    function mediolaRequest(state) {
        var options = options_on;
        log ('------------------------------------------------------');
        log ('State=' +state);
        if (state===0) {
           log('ausschalten');
           options = options_off;
        } 
        else if (state == 100) {
           log('einschalten');
           options = options_on;
        } else if (state =="leiser") {
            options = option_leiser;
        }
    
        log ('options=' +options.host + options.path);
        var req = http.get(options, function(res) {});
    
        if(logOn) log("-------End-Result-------:");
    
        req.on('error', function(e) { // Fehler abfangen
            log('ERROR: ' + e.message,"warn");
        });
        log('-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-');
    }
    
    //-------------  Verstärker -----------------------------------------------------
    on({id: "javascript."+instance+"."+idAlexaVerstaerker ,change:'any'}, function (obj) {
        if(logOn) log("Alexa Trigger Verstärker wurde geschrieben: " + obj.state.val +"/"+obj._id);
        mediolaRequest(obj.state.val);
        log ('Mediola-Ende');
    });
    
    

    Ich komme nun aber nicht dahinter was ich genau scripten muss um den Verstärker leiser oder lauter zu stellen.

    Ich möchte also sagen können "Alexa Verstärker leiser" bzw. "Alexa Verstärker lauter".

    Kann mir jemand auf die Sprünge helfen wie das anzustellen ist?

    Gruss Ralf

    1 Reply Last reply
    0
    • arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      wrote on last edited by
      #2
      var code_ampon   = '19082600000100240708C3...101010102010102040506';
      var code_ampoff  = '19082600000100240708C3...22F00905DB20001020101';
      
      

      das ist der Code der gesendet wird um den Verstäker an oder aus zu schalten.. wie ist den der für laut und leise ??

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      1 Reply Last reply
      0
      • D Offline
        D Offline
        derrapf
        wrote on last edited by
        #3

        Hi

        Ja, genau. Der war mir nur zu lang, Der hätte den Quell-Code unübersichtlich gemacht. Ist ja auch nicht wirklich relevant. Aber ja, das sind die Mediola IR Codes für an und aus.

        Die für laut und leise sehen ähnlich aus.

        Man kann sich vorstellen, dass es für die Beiden natürlich dann auch die enstprechenden Variablen; sprich die daraus aufgebauten Http Request geben wird.

        Was ich an dem Ganzen aber nicht auf die Reihe bekomme, ist wie ich das Gerät im ioBroker anlegen muss damit es auf "Verstärker leiser" reagiert.

        Mit dem Code oben lege ich ja nur ein Gerät "Verstärker" an und Alexa reagiert auf "ein"/"aus" oder "einschalten"/ "ausschalten".

        Das will ich aber in dem Fall nicht. Bei IR Geräten gibt es halt nicht nur ein/aus sondern eben "Lauter", "leiser".

        Oder eben sowas sowas wie "Verstärker auf Eingang Phono schalten" oder "Blurayplayer schneller Vorlauf" usw. Das! krieg ich nicht auf die Reihe.

        Alexa kennt wohl nur ein aus und irgendwelche Prozentangaben um z.B. Dimmer zu steuern. Aber das ist ja für die ganzen HiFi Geräte viel zu wenig,

        Gruss Ralf

        1 Reply Last reply
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          wrote on last edited by
          #4

          @derrapf:

          Oder eben sowas sowas wie "Verstärker auf Eingang Phono schalten" oder "Blurayplayer schneller Vorlauf" usw. Das! krieg ich nicht auf die Reihe.

          Alexa kennt wohl nur ein aus und irgendwelche Prozentangaben um z.B. Dimmer zu steuern. Aber das ist ja für die ganzen HiFi Geräte viel zu wenig, `
          Korrigiert mich bitte wenn ich falsch liege, aber ich fürchte das geht mit der einfachen Smart-Home-API von Alexa nicht. Da wird ein Custom Skill fällig, was aber wesentlich mehr Arbeit für Bluefox bedeutet. Keine Ahnung wie weit die Entwicklung da fortgeschritten ist.

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

          1 Reply Last reply
          0
          • arteckA Offline
            arteckA Offline
            arteck
            Developer Most Active
            wrote on last edited by
            #5

            ganz ruhig mit die Pferde…

            an aus -- geht

            und den dimmer Wert kannst du als Lautstärke einprogrammieren.. würde lauten "Alexa, Verstärker auf 30%" oder was weiss ich

            der restliche Mediazugs ... ist so ne sache was die API hergibt.. schalte Radio an .. schalte DVD an.. schalte TV an.. müsste auch gehen soweit die Datenpunkte da sind und diese in den Cloud Adapter eingebunden sind.

            Man muss halt minimalistisch denken.. Verstärker auf Eingang Phono schalten -> schalte Phono an

            zigbee hab ich, zwave auch, nuc's genauso und HA auch

            1 Reply Last reply
            0
            • D Offline
              D Offline
              derrapf
              wrote on last edited by
              #6

              Hi
              > und den dimmer Wert kannst du als Lautstärke einprogrammieren.. würde lauten "Alexa, Verstärker auf 30%" oder was weiss ich
              Genau das geht nicht. Der IR-Code bewegt den Laustärkereglermotor nach links oder nach rechts. Entsprechend wie lange man drauf drückt.

              Zumindest bei der Original-Fernbedienung. Aber das kann leider Mediola (wie viele andere Dinge) nicht. D.h. ein Request bewegt den Motor einfach ein paar Grad nach links oder rechts. Man muss also den Request öfter absetzen wenn man es viel lauter haben will; man müsste also "Alexa Verstärker lauter" mehrfach sagen (wen es so funktionieren würde). Der Verstärker kennt keine absolute Position des Lautstärkereglers.
              > "Man muss halt minimalistisch denken.. Verstärker auf Eingang Phono schalten -> schalte Phono an"

              Mein Blurayplayer hat 'ne rote Taste und mein Sat Receiver auch. Was sagst Du da?

              "Alexa Rot-Sat an" oder "Alxa Rotbluray an" ?

              Und was mach ich bei Stop, Play, Pause, usw?

              "Alexa Bluraystop an"?

              Bescheuerter gehts leider kaum noch. Das ist ja weit weg von intuitiv.

              Abgesehen davon müsste ich ja dann für fast jede Taste meiner elf HiFi-Geräte ein Iobroker-Gerät anlegen. Das ist ja kaum pflegbar.

              Aber wenn ich Euch richtig verstanden habe, gib es also keinen Trick wie man das vernünftiger machen könnte als die oben Genannten?

              Dann werde ich mich wohl weiterhin mit dem Drücken von Tasten begnügen müssen und mich nur auf das Ein und Ausschalte der Geräte beschränken.

              Schön wäre wen man Alexa einfach Sätze lernen und dahinter Aktionen definiern könnte. So ungefähr wie beim text2command Addon.

              Gruss Ralf

              1 Reply Last reply
              0
              • AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                wrote on last edited by
                #7

                @derrapf:

                Bescheuerter gehts leider kaum noch. Das ist ja weit weg von intuitiv. `
                Tja, Amazon meint "an, aus, setze auf %" reicht aus, um ein Smart Home zu steuern. Angeblich unterstützen meine Rolläden "öffnen" und "schließen" nicht. Ging aber mal…

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

                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  derrapf
                  wrote on last edited by
                  #8

                  Die Hoffnung stirbt zuletzt. Vielleicht ändert sich da noch was in Zuknft.

                  Kann man sich bei Amazon irgendwo beschweren, bzw. gibt es eine Möglichkeit Verbesserungsvorschläge einzukippen?

                  Also auch so dass die gelesen und berücksichtigt werden. Foren gibts bestimmt genug die von Amazon ignoriert werden.

                  Gruss Ralf

                  1 Reply Last reply
                  0
                  • uweklattU Offline
                    uweklattU Offline
                    uweklatt
                    wrote on last edited by
                    #9

                    Hallo Ralf,

                    Ich werde das mit dem Logitech Harmony Hub versuchen.

                    Je nach verwendeter "Activity", was quasi den Scenen bei der Heimautomatisierung entspricht, haben die gleichen Befehle (Tasten) unterschiedliche Auswirkungen.

                    Schaue ich z.B TV ohne AVR, ändern die Lautstärketasten den Fernseher.

                    Beim Schauen mit AVR ändert sich die Lautstärke des AVR.

                    Das gleiche passiert mit "Mute" oder der Programmwahl.

                    Letztendlich kann man mit einheitlichen Sprachbefehlen verschiedene Geräte je nach Activity steuern.

                    Sobald ich den Hub habe, werde ich es testen 8-)

                    Tschau

                    Uwe

                    Proxmox/LXC/Docker

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      derrapf
                      wrote on last edited by
                      #10

                      Hallo Uwe

                      Klingt gut.

                      Dann brauch ich aber den Harmony Hub.

                      Ich hab das mit der Lautstärke übrigens jetzt so gelöst:

                      Ich gebe dem Gerät “Verstärker“ nun eine Prozentzahl mit. Alles über 50% dreht den Lautstärke Regler nach rechts und alles unter 50% dreht ihn nach links. 100% entspricht “an“ und schaltet den Verstärker an; entsprechend schaltet 0% aus. Ich habe dann noch eingestellt, dass je weiter die Prozentwerte von 50 entfernt sind desto öfter wird der Request aufgerufen.

                      Bedeutet:

                      “Alexa, Verstärker auf 40%" dreht den Regler zweimal um ein paar Grad nach links, “Alexa, Verstärker auf 10%“ dreht den Regler 6 mal nach links usw.

                      Die Prozentzahl ist bei mir also nicht die Position des Reglers, sondern sein Drehwinkel. Ich kann damit also steuern wie viel lauter oder leiser ich's haben will.

                      Das Problem war auch, dass ich das Wort “Lautstärke“ nicht verwenden konnte, weil Alexa das immer für ihre eigene Lautstärke verwendet hat.

                      Auch habe ich den Eindruck, dass “Verstärker“ ein Wort ist, das sie sehr schwer versteht - ich brauche immer mehrere Versuche. Aber grundsätzlich geht's so.

                      Ist zwar nicht schön, aber man kann damit erstmal leben.

                      Gruss Ralf

                      1 Reply Last reply
                      0
                      • AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        wrote on last edited by
                        #11

                        @derrapf:

                        Ich hab das mit der Lautstärke übrigens jetzt so gelöst:

                        Ich gebe dem Gerät “Verstärker“ nun eine Prozentzahl mit. Alles über 50% dreht den Lautstärke Regler nach rechts und alles unter 50% dreht ihn nach links. 100% entspricht “an“ und schaltet den Verstärker an; entsprechend schaltet 0% aus. Ich habe dann noch eingestellt, dass je weiter die Prozentwerte von 50 entfernt sind desto öfter wird der Request aufgerufen.

                        Bedeutet:

                        “Alexa, Verstärker auf 40% dreht den Regler zweimal im ei paar Grad nach links, “Alexa, Verstärker auf 10%“ dreht den Regler 6mal nach links usw.

                        Die Prozentzahl ist bei mir also nicht die Position des Regler, sondern sein Drehwinkel. Ich kann damit also steuern wie viel lautet oder leiser ich's haben will. `
                        Interessanter Ansatz. Spontan fällt mir ein, dass du per Skript https://github.com/ioBroker/ioBroker.javascript#on–-subscribe-on-changes-or-updates-of-some-state könntest. Wenn du jetzt sagst "Verstärker auf 40%" dann kann das Skript anhand dem alten Zustand (z.B. 60%) ermitteln, dass du 2x nach links drehen musst.

                        Der Callback bekommt dafür ja newState.val und oldState.val

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

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          derrapf
                          wrote on last edited by
                          #12

                          Hi AlCalzone

                          Stimme Dir grundsätzlich zu; das Problem ist aber dass ich keinen absoluten Wert der Reglerstellung bestimmen kann, da man den ja auch manuell verstellen kann. Ich weiss also grundsätzlich nicht wo er steht..

                          Gruss Ralf

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          151

                          Online

                          32.4k

                          Users

                          81.3k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe