NEWS
Skript per Alexa an Pioneer SC 2020 senden
-
@grumpycat9971
Ich hab mal nach anderen Threads gesucht. Würde dieser passen?
https://forum.iobroker.net/topic/4024/pioneer-avr-skript/45?lang=en-GBHab auch dies gefunden über http?
https://github.com/rwifall/pioneer-receiver-notesGib 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
-
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 -
@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) } }
-
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. -
@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.
-
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
-
@grumpycat9971 Das script mit http hatte ich oben weiter schon gesetzt.
https://forum.iobroker.net/post/1267676 -
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. -
@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 werdenlet 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 auchpioneer an
drin steht -
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
-
Ja Adapter Alexa2 ist installiert, den brauche ich ja für meine Homematic.
Unter der History kommt nichts:
Es kommt auch folgende Fehlermeldung:
Aber in der Alexa App ist der Pioneer noch da:
Hier kann ich ihn aber auch nicht ein bzw. ausschalten:
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:
-
@grumpycat9971 Geh mal bitte in die iot-Instanz und schau dort nach, ob es dort ein Pioneer gibt.
Dies besagt nur, dass es ein script mit dem Namen Pioneer gibt und es gestartet wurde
Der DP liegt unter
0_userdata.0.pioneer.on
-
Ne da ist er ja komischerweise nicht dirin, gestern war es aber da mal drin
DB gibt es wohl:
-
@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. -
Neustart des ioT hat nichts gebracht. Wie legt man den manuell an wenn ich das + gedrückt habe, dann ...
-
@grumpycat9971 Dann den DP auswählen, also
0_userdata.0.pioneer.on
-
Als habe nun manuell angelegt und es erschienen 2 neue Geräte in der Alexa APp. Es funktioniert aber mit der Gerätesuche nicht, wenn ich das per Sprache mit dem Befehl "ALexa, suche neue Geräte" mache. Dann versucht sie immer auf Bluetooth.Geräte oder andere zuzugreifen. Fragt auch ob das Gerät an in (war der Pioneer). Ich gehe dann in der App auf Skills und deaktiere das Skill ioBroker.iot und aktiviere es dann wieder (mit Login). Dann sucht sie anch neuen Geräten und hatte 2 mit Pioneer gefunden. Jetzt ist es auch möglich mit der App den Pioneer ein- und auszuschalten und er steht nach dem EInschalten auf de´m richtigen Eingang. Aber es funktioniert noch nicht mit Sprachbefehl: "Alexa, Pioneer an" oder "Alexa, Pioneer ein" oder "Alexa, schaltet Pioneer an" oder "Alexa, Pioneer einschalten", aber mit "Alexa, Pioneer einschalten an".
Das muss ich noch ändern, dass es mit den Befehlt "Alexa, Pioneer an " auch angeht.Habe hier jeweils das Wort einschalten entfernt, dann geht es aber nicht. Ist das so richtig gewesen ...
-
@grumpycat9971 Nein, das musst du im IOT machen
-
Habe die beiden wieder rückgängig gemacht ....
und hier geändert ...
Jetzt geht es mit dem Befehl "Alexa, Pioneer an" bzw. "Alexa, Pioneer ein" und "Alexa, Pioneer aus",
Super ich danke dir so recht herzlich und werde nun weitertesten. Melde mich dann wieder.