Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Skript per Alexa an Pioneer SC 2020 senden

    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

    Skript per Alexa an Pioneer SC 2020 senden

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MCU @Grumpycat9971 last edited by MCU

      @grumpycat9971 Beide Skripte müssen in einem javascript sein.
      Habe das script nochmal angepasst, da es noch Fehler gab.

      438dcdaf-32ed-4914-a86f-453d0e09b8c6-image.png

      Bitte das Skript komplett in ein javascript kopieren und dann starten.
      -> DP (ja Datenpunkt) wird dann angelegt,

      Dann mal bei IOT-Adapter schauen, ob er unter Geräte den Pioneer angelegt hat.
      Wenn ja, -> Alexa, suche neue Geräte zur "Alexa" sagen.

      Danach solltest du zur Alexa sagen können -> Alexa, Pioneer an und Alexa, Pioneer aus

      let pioneerDP = '0_userdata.0.pioneer.on'
      createState( pioneerDP, false, {
          name: 'Pioneer einschalten',
          type: 'boolean',
          role: 'switch',
          def: false,
          read: true,
          write: true,
          smartName: {
              de: 'Pioneer' // So heißt das Gerät für Alexa
          }
      });
       
      on({id: pioneerDP, change: 'any'}, (obj) => {
          if (obj.state.val) {
              sendToPioneer(['PO', '05FN']);
          } else {
              sendToPioneer(['PF']);
          }
      });
       
      
      
      const net = require('net');
      function sendToPioneer(commands) {
          const client = new net.Socket();
          client.connect(23, '192.168.1.26', () => {
              console.log('Verbunden mit Pioneer');
              let fullCommand = commands.join('\r');
              client.write(fullCommand + '\r');
          });
       
          client.on('data', (data) => {
              console.log('Antwort:'+ data.toString());
          });
       
          client.on('error', (err) => {
              console.error('Fehler:'+ err);
          });
       
          client.on('close', () => {
              console.log('Verbindung geschlossen');
          });
      }
       
      // Beispiel: Gerät einschalten und auf Eingang 05 schalten
      // sendToPioneer(['PO', '05FN']);
       
      // Ausschalten
      // sendToPioneer(['PF']); // "Power Off"
       
      
      

      Den wollte ich bei Objekte anlegen, aber das Plus ist grau und bin ich da überhaupt richtig?

      Der DP wird mit der Funktion createState angelegt.

      Muss ich dann ein drittes Skript anlegen für das Ausschalten?

      Ist der DP "pioneerDP" -> false -> wird ['PF']) gesendet und damit das Gerät ausgeschaltet?

      1 Reply Last reply Reply Quote 0
      • G
        Grumpycat9971 last edited by Grumpycat9971

        Also das Gerät "Pioneer" ist in der Alexa App nun sichtbar, darin gibt es auch den Button "An" und "Aus". Ich kann ihn weder an- noch ausschalten. Weder über die Buttons noch per Sprachbefehl.

        Auch muss zwingend in dem Skript nach den Senden des PO eine Zeitverzögerung mit 1,5 sec kommen, denn sonst wird nicht auf Eingang 05 geschaltet. Das Problem hatte ich damals mit dem Telnet-Skript.

        Screenshot 2025-04-24 144654.jpg

        M 1 Reply Last reply Reply Quote 0
        • M
          MCU @Grumpycat9971 last edited by MCU

          @grumpycat9971 ok, dann versuchen wir es schrittweise

          ! Pioneer ist ausgeschaltet

          Setze mal den Befehl in das Script, also am Ende hinzufügen und script speichern

          sendToPioneer(['PO']);
          

          Wird das Gerät eingeschaltet?

          Steht im ioBroker-LOG Verbunden mit Pioneer

          1 Reply Last reply Reply Quote 0
          • G
            Grumpycat9971 last edited by Grumpycat9971

            Das kommt im Log:
            Screenshot 2025-04-24 164305.jpg

            Und leider nein, er lässt sich nicht einschalten. Habe den Befehl wie folgt angehängt:
            Screenshot 2025-04-24 164403.jpg

            1 Reply Last reply Reply Quote 0
            • M
              MCU last edited by MCU

              @grumpycat9971
              Ich hab mal nach anderen Threads gesucht. Würde dieser passen?
              https://forum.iobroker.net/topic/4024/pioneer-avr-skript/45?lang=en-GB

              Hab auch dies gefunden über http?
              https://github.com/rwifall/pioneer-receiver-notes

              Gib mal in einem Browser dies ein

              http://192.168.1.26/EventHandler.asp?WebToHostItem=PO
              

              Oder in dem vorhandenem Script mal andere Ports verwenden statt 23, Port 80

              https://community.openhab.org/t/solved-pioneer-binding-fails-on-controling-an-vsx-s520-model-2016/69555

              1 Reply Last reply Reply Quote 0
              • G
                Grumpycat9971 last edited by Grumpycat9971

                Puh ich habe mir das mal nun durchgeksen und verstehe leider nur Bahnhof. Da gibt es wohl einen selbstgeschriebenen Adpater, ich weiß aber nicht wie man den installierten kann. Die beiden, die ich bis jetzt verwende sind Homematic und Alexa, die gabe es aber über die Suche zu finden und anschließend zu installieren.

                Wenn ich das wie du geschrieben hast im Browser eingebe geht er an:
                http://192.168.1.26/EventHandler.asp?WebToHostItem=PO

                M 1 Reply Last reply Reply Quote 0
                • M
                  MCU @Grumpycat9971 last edited by MCU

                  @grumpycat9971 Dann machen wir es über http.

                  let pioneerDP = '0_userdata.0.pioneer.on'
                  createState( pioneerDP, false, {
                      name: 'Pioneer einschalten',
                      type: 'boolean',
                      role: 'switch',
                      def: false,
                      read: true,
                      write: true,
                      smartName: {
                          de: 'Pioneer' // So heißt das Gerät für Alexa
                      }
                  });
                   
                  on({id: pioneerDP, change: 'any'}, (obj) => {
                      if (obj.state.val) {
                          sendToPioneer(['PO', '05FN']);
                      } else {
                          sendToPioneer(['PF']);
                      }
                  });
                  
                  function sendToPioneer(commands) {
                      for(let i=0; i<commands.length; i++){
                          setTimeout(function(){
                              httpGet('http://192.168.1.26/EventHandler.asp?WebToHostItem='+commands[i], function (error, response, body) {
                                  if (error) {
                                      console.error("❌ Fehler beim Einschalten:"+ error);
                                  } else {
                                      // console.log("✅ Pioneer eingeschaltet (PO)");
                                  }
                              });
                          },1500*i)
                      }
                  }
                  
                  1 Reply Last reply Reply Quote 0
                  • G
                    Grumpycat9971 last edited by Grumpycat9971

                    Aber ausschalten mit ... konnte ich ihn jetzt nicht
                    http://192.168.1.26/EventHandler.asp?WebToHostItem=PF
                    und einschalten ging nur einmal, jetzt ein zweites Mal nicht.
                    Kann das sein, dass der seine Verbindung verliert, da habe ich was in den Links gelesen, die du mir geschickt hast.

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      MCU @Grumpycat9971 last edited by MCU

                      @grumpycat9971 Hatte jetzt gedacht und gehofft es funktioniert über http.

                      Kann das sein, dass der seine Verbindung verliert, da habe ich was in den Links gelesen, die du mir geschickt hast.

                      Hab ich nicht gelesen.

                      Du hast es mit telnet probiert auf dem PI, oder?
                      Welche Befehle hast du dort genutzt?
                      Die Befehle oben sind ja PowerShell-Befehle, oder?

                      Dann kann man es evtl über exec erreichen.

                      1 Reply Last reply Reply Quote 0
                      • G
                        Grumpycat9971 last edited by

                        So ich dachte schon jetzt geht gar nichts mehr, denn ich konnte den Pioneer gar nicht mehr über das Telnet-Skript von mir ansteuern. Dachte dass es evtl. einen Konflikt zwischen ioBroker und Telnet gibt, daher habe ich mal das Skript bei IoBroker und die Instanz gelöscht. Telnet ging immer noch nicht. Dann habe ich Telnet unter Win11 deaktiviert und wieder aktiviert. Immer noch nicht. Aber was etwas brachte war, den Netzstecker am Pioneer für 15 sec zu ziehen.

                        Jetzt geht Telnet wieder und ich kann die Http Befehle von dir über den Browser schicken und zwar alle. Kann ihn einschalten (PO), den Eingang (05FN) wählen und wieder ausschalten (PF).

                        Also wenn du mir mit den http Befehelen vielleicht eine Lösung hast, könnte ich das mal im ioBroker Skript probieren. In den Links von dir, haben die sich richtig ausgetobt. Die steuern damit auch die Lautstärke usw.

                        Das brauche ich alles nicht, denn das mache ich mit der Sonos. Hier hängt die Sonos Connect am Eingang 05FN angeschlossen ist. Ich sage dann einfach Alexa, lauter oder leiser im Wohnzimmer. Sonos läuft nicht über den ioBRoker, sondern direkt mit der Skill in der Alexa-App. Daher brauche ich nur diese 3 Befehle bei Pioneer und bis jetzt habe ich halt dazu immer die Pioneer App hierzu verwendet.

                        Ich wäre dir dankbar für weitere Hilfe, mache aber erst wieder morgen die nächsten Versuche. Vielen lieben Dank und Grüße Bettina

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          MCU @Grumpycat9971 last edited by

                          @grumpycat9971 Das script mit http hatte ich oben weiter schon gesetzt.
                          https://forum.iobroker.net/post/1267676

                          1 Reply Last reply Reply Quote 0
                          • G
                            Grumpycat9971 last edited by

                            Moin moin, so ich habe nun das http-Skript versucht und es wird keine Instanz angelegt, also nicht so wie bei dem einen Skript, da hatte ich den Pioneer ja gesehen. daher auch keine Funktion über Alexa Sprache.
                            Aber Ansteuerung über den Browser geht anch wie vor, liegt also nicht am Pioneer selbt.

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              MCU @Grumpycat9971 last edited by MCU

                              @grumpycat9971
                              Wenn du das Gerät nicht in IOT gelöscht hast, ist es doch noch vom anderen Script da?
                              Der DP ist doch geblieben? Oder hattest du den gelöscht?

                              Hier nochmal etwas mehr logging drin.
                              -> Script kopieren und starten
                              -> Alexa, suche neue Geräte
                              -> Alexa, pioneer an
                              -> ioBroker-LOG -> Pioneer soll eingeschaltet werden

                              
                              let pioneerDP = '0_userdata.0.pioneer.on'
                              createState( pioneerDP, false, {
                                  name: 'Pioneer einschalten',
                                  type: 'boolean',
                                  role: 'switch',
                                  def: false,
                                  read: true,
                                  write: true,
                                  smartName: {
                                      de: 'Pioneer' // So heißt das Gerät für Alexa
                                  }
                              });
                               
                              on({id: pioneerDP, change: 'any'}, (obj) => {
                                  if (obj.state.val) {
                                      console.log('Pioneer soll eingeschaltet werden');
                                      sendToPioneer(['PO', '05FN']);
                                  } else {
                                      console.log('Pioneer soll ausgeschaltet werden');
                                      sendToPioneer(['PF']);
                                  }
                              });
                               
                              function sendToPioneer(commands) {
                                  for(let i=0; i<commands.length; i++){
                                      setTimeout(function(){
                                          httpGet('http://192.168.1.26/EventHandler.asp?WebToHostItem='+commands[i], function (error, response, body) {
                                              if (error) {
                                                  console.error("❌ Fehler beim Einschalten:"+ error);
                                              } else {
                                                  // console.log("✅ Pioneer eingeschaltet (PO)");
                                              }
                                          });
                                      },1500*i)
                                  }
                              }
                              
                              

                              Hast du den alexa2-Adapter installiert?
                              Dann schau mal unter dem DP:
                              alexa2.0.History.summary
                              ob dort auch pioneer an drin steht

                              1 Reply Last reply Reply Quote 0
                              • G
                                Grumpycat9971 last edited by

                                Ja alles gelöscht, weil ja das Telnet-Skript auch nicht mehr lief und ich dachte, dass es da einen Konflikt gab. Erst nach Ausstecken des Pioneer ging ja mein Skript wieder vom Win11 Rechner

                                1 Reply Last reply Reply Quote 0
                                • G
                                  Grumpycat9971 last edited by Grumpycat9971

                                  Ja Adapter Alexa2 ist installiert, den brauche ich ja für meine Homematic.
                                  Unter der History kommt nichts:
                                  Screenshot 2025-04-25 100443.jpg
                                  Es kommt auch folgende Fehlermeldung:
                                  Screenshot 2025-04-25 100314.jpg
                                  Aber in der Alexa App ist der Pioneer noch da:
                                  Screenshot_20250425_100124_Amazon Alexa.jpg
                                  Hier kann ich ihn aber auch nicht ein bzw. ausschalten:
                                  Screenshot_20250425_100130_Amazon Alexa.jpg
                                  Ist der immer noch von gestern da? Denn im ioBroker ist er ja nirgends zu sehen.

                                  Hier steht der Pioneer, habe das Skript so benannt:
                                  Screenshot 2025-04-25 100947.jpg

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    MCU @Grumpycat9971 last edited by MCU

                                    @grumpycat9971 Geh mal bitte in die iot-Instanz und schau dort nach, ob es dort ein Pioneer gibt.
                                    c8ce7a92-fbb6-4d8d-bd42-93102c6df62d-image.png

                                    Dies besagt nur, dass es ein script mit dem Namen Pioneer gibt und es gestartet wurde
                                    c6353f29-949a-427e-bc6d-e7802a300d09-image.png

                                    Der DP liegt unter 0_userdata.0.pioneer.on

                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      Grumpycat9971 last edited by Grumpycat9971

                                      Ne da ist er ja komischerweise nicht dirin, gestern war es aber da mal drin
                                      Screenshot 2025-04-24 144654.jpg

                                      DB gibt es wohl:
                                      Screenshot 2025-04-25 101916.jpg

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        MCU @Grumpycat9971 last edited by

                                        @grumpycat9971 Dann evtl iot-Instanz mal neustarten. Dann sollte er sich es wieder einstellen, da ja im DP smartName: Pioneer steht.
                                        Oder manuell hinzufügen.

                                        1 Reply Last reply Reply Quote 0
                                        • G
                                          Grumpycat9971 last edited by

                                          Neustart des ioT hat nichts gebracht. Wie legt man den manuell an wenn ich das + gedrückt habe, dann ...

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            MCU @Grumpycat9971 last edited by

                                            @grumpycat9971 Dann den DP auswählen, also 0_userdata.0.pioneer.on
                                            6c5270cb-98f3-4134-8cd9-959d1388c828-image.png

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            879
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            26
                                            918
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo