Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Wuaza

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    W
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 6
    • Best 0
    • Groups 0

    Wuaza

    @Wuaza

    0
    Reputation
    14
    Profile views
    6
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Wuaza Follow

    Latest posts made by Wuaza

    • RE: [gelöst] Ein- und Ausschalten mittels HTML-Req. und Alexa

      Guten Abend,

      nachdem mein obiges Vorhaben soweit funktioniert, meine nächste Herausforderung: Ich möchte über Alexa die Lautstärke des AVR steuern. In einem anderen Thread hier im Forum (viewtopic.php?t=5580) hat jemand schon ein funktionierendes Script gepostet. Ich hab es entsprechend auf meinen Denon angepasst (IP-Adresse und HTML-Req), aber es scheint nicht zu reagieren:

      var http = "http://192.168.x.xxx/goform/formiPhoneAppVolume.xml?1+-";
      
      on({id: "javascript.0.AV-Power", change: "any"}, 
          function (obj) {
          var x = obj.state.val;
          if (x === 0) {
              require("request")(http + 'off'); // Bei Befehl "aus" wird Vol. auf Mute gesetzt.
              console.log("Lautstärke AVR-X1200 auf -MUTE- gesetzt.");
          } else { 
              x = 80 - x; 
              require("request")(http + x);
              console.log("Lautstärke AVR-X1200 auf " + x + " gesetzt.");
      }});
      

      Zu der Zeile

       x = 80 - x;
      

      ist zu sagen: Die Werte müssen als db-Wert übergeben werden. Soll die Lautstärke auf Stufe 50 (von 100) gesetzt werden, muss dafür -30db gesetzt werden –> "Alexa, Boxen auf 50%" --> x = 80 - 50 = 30db

      Der Adapter sollte richtig konfiguriert sein, zumindest war er so im o.g. eingestellt (siehe Anhang)

      Vielleicht kann mir ein Experte einen Rat geben 🙂

      Vielen Dank!
      5708_asd.png

      posted in Skripten / Logik
      W
      Wuaza
    • RE: [SKRIPT] Alexa über ioBroker Steuern -> Kommandos an Alexa

      @BBTown:

      @dslraser:

      Jetzt habe ich noch einen Echo Spot hier, aber leider wird da Bluetooth nicht angezeigt (bei den Dots schon) 😞

      wollte gerade damit los legen meinen AVR damit zu verbinden 😞 Schade… Ich bin der Meinung, der "Bluetooth" Zweig/Knoten wird erst angelegt, nachdem Du den einmal für das Gerät in Verwendung hattest. Bei meinen Echo.Dots gibt es zum Beispiel nirgends einen Bluetooth Zweig/Knoten, da ich noch nie eine Kopplung durchgeführt habe (ich nutze als Lautsprecher im gesamten Haus Sonos).

      Tauchen die Bluetooth-Datenpunkte nur auf, wenn der Alexa-Adapter installiert ist? Dieser scheint bei mir nicht zu funktionieren. Sowohl bei der Eingabe der LogIn Daten als auch beim Versuch, den Cookie manuell einzutragen, lässt den Adapter nicht online gehen 😞

      Bluetooth-Verbindung zw. Dot und AVR ist vorhanden und funktioniert auch ("Alexa, koppeln" -> BT Verbindung wird erfolgreich aufgebaut).

      Kennt jemand das Script, um den "Bluetooth koppeln"-Befehl an einen Echo zu schicken?

      posted in Cloud Dienste
      W
      Wuaza
    • RE: [gelöst] Ein- und Ausschalten mittels HTML-Req. und Alexa

      Ich nutze den Receiver nicht nur zur Musikwiedergabe über den Dot, sondern auch für Fernsehen, Konsole etc.

      Ich denke, wenn ich den Receiver auf BT stelle (Klappt schon über den ioBroker :)), dass sich der Echo dann nicht automatisch damit verbinden wird, oder?

      Und jedes Mal noch "Alexa, koppeln" o.ä. sagen wäre ja zu einfach. 😉

      posted in Skripten / Logik
      W
      Wuaza
    • RE: [gelöst] Ein- und Ausschalten mittels HTML-Req. und Alexa

      Hallo,

      Okay, durch Alexa wird das Script immer neu ausgeführt, d.h. ich hab deinen Rat einfach mal ausprobiert und für den Ein- und Ausschaltvorgang jeweils ein Script angelegt.

      -> Funktioniert perfekt 🙂

      Dankeschön!

      Nächster Schritt wäre jetzt noch, dass sich der Echo Dot automatisch mit dem AV-Receiver über BT verbindet. Sollte ich das hinkriegen, stelle ich mein Script hier zur Verfügung.

      Danke nochmals für die Hilfe!

      posted in Skripten / Logik
      W
      Wuaza
    • RE: [gelöst] Ein- und Ausschalten mittels HTML-Req. und Alexa

      Hi,

      diese HTML-Befehle sollten alle funktionieren (daher habe ich auch den TurnOn- und TurnOff-Befehl "geklaut"). Hab einen Denon X1200-AVR.

      Der Ansatz mit der Status-Abfrage ist auch sehr interessant - dann würde er je nach dem Zustand des AVR handeln. Danke für diese Idee!

      Vielleicht verstehe ich das Ein- und Ausschalten eines Scripts auch total falsch: Wenn ich Alexa sage "Schalte Script ein" dann sollte ja das Script starten (auf "Grün" wechseln), und bei "Schalte Script aus" auf rot wechseln. Soweit richtig?

      Nur wie schaffe ich es, dass er beim diesem "Statuswechsel" eine jeweils andere Funktion (Turn_On oder Turn_Off) ausführt?

      posted in Skripten / Logik
      W
      Wuaza
    • [gelöst] Ein- und Ausschalten mittels HTML-Req. und Alexa

      Hallo,

      Ich versuche seit ein paar Tagen mir mit vielen Beiträgen aus dem Forum hier eine Lösung für mein "Problem" zu basteln.

      Ich möchte meinen Denon AVR mittels HTML-Requests ein- und ausschalten inkl. Alexaeinbindung. Das habe ich soweit hingekriegt, mit diesem Codeschnipsel:

        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.2.102',
        path: '/goform/formiPhoneAppPower.xml?1+PowerOn',
        method: 'GET'                // in der Regel: "GET"
      };
      
      var pfad                = "test.alexatrigger" + "."; // PFad unter dem in der Javascript-Instanz die Datenpunkte angelegt werden sollen:
      
      // Datenpunktnamen:
      var idAlexaTrigger      = pfad + 'alexa_trigger';
      
      createState(idAlexaTrigger, 0, forecreation, {
           name: 'Trigger für Alexa',
           desc: 'Trigger mit Level für Alexa um einen hhtp request zu erzeugen',
           type: 'number',
           unit: '',
           role: 'value'
      });
      
      // Funktionen:
      function webseiteAbfragen() {
          var req = http.get(options_on, function(res) {
          if(logOn) log('STATUS: ' + res.statusCode);               // Statuscode
          if(logOn) log('HEADERS: ' + JSON.stringify(res.headers)); // Header (Rückmeldung vom Webserver)
      
          // Buffer the body entirely for processing as a whole.
          var bodyChunks  = [];
          var chunkLine   = 0;
          res.on('data', function(chunk) {
              chunkLine = chunkLine + 1;
              if(logOn)  log("Zeilennummer: " + chunkLine+ " ,Inhalt: " +  chunk);
      
              // Hier können die einzelnen Zeilen verarbeitet werden...
              bodyChunks.push(chunk);
      
          }).on('end', function() {
              if(logOn) log("ARRAY mit den einzelnen Zeilen: " + bodyChunks);
              if(logOn) log("ARRAY Länge: " + bodyChunks.length);
      
              var body = Buffer.concat(bodyChunks);
      
              if(logOn) log('BODY: ' + body);
              // ...und/oder das Gesamtergebnis.
      
              });
          });
      
          req.on('error', function(e) { // Fehler abfangen
              log('ERROR: ' + e.message,"warn");
          });
      }
      
      // SUBSCRIPTIONS
      // -----------------------------------------------------------------------------
      
      on({id: "javascript."+instance+"."+idAlexaTrigger ,change:'any'}, function (obj) {
          if(logOn) log("Alexa Trigger wurde geschrieben: " + obj.state.val);
          main();
      });
      

      bzw. der Variable

      var options_off = {
        host: '192.168.2.102',
        path: '/goform/formiPhoneAppPower.xml?1+PowerStandBy',
        method: 'GET'                // in der Regel: "GET"
      };
      

      zum Ausschalten.

      Leider springt das Script "Einschalten" nicht auf aus, wenn ich "Ausschalten" triggere und andersrum. Sprich um erneut "Einzuschalten" muss ich derzeit das Script erst beenden, damit ich es erneut starten kann.

      Hab schon ein wenig rumprobiert (if-else mit Statusauslesen bzw. Variable, die hochzählt bzw. zurückgesetzt wird, anhand derer entschieden werden soll, ob eben ein oder ausgeschaltet wird), aber so richtig geklappt hat nichts.

      Am elegantesten wäre es, dass ich das Script "AVR" nenne und die jeweilge Variable ("options_on" oder "options_off") verwendet wird, ob ich die Script starte oder beende.

      Hat jemand ne Idee, wie man das in Javascript bzw. im ioBroker lösen kann?

      Vielen Dank schon mal vor ab!

      posted in Skripten / Logik
      W
      Wuaza
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo