NEWS
Onkyo - Zone 2 - Control mit 6-fach Taster HM-PB-6-WM55
-
Hallo zusammen
Nach meinem Umstieg von CCU.IO auf IOBroker war jetzt auch mein 6-Fach Taster in der Küche dran. Er steuert mir meine 2. Zone des Onkyo Receivers. Das muss natürlich auch nach dem Umstieg wieder funktionieren, sonst sinkt der WAF Faktor ungemein.
Ich muss aber noch erwähnen, dass mir der aktuelle Onkyo Adapter nicht gefällt. Er ist in meinen Augen derzeit rudimentär und verbesserrungswürdig. Mehr dazu, wenn ich mehr Zeit habe…
Zurück zum Thema:
Hier mein Script zum Steuern der 2. Zone mit einem 6-Fach Taster. Die ID muss natürlich noch auf Euren Taster angepasst werden.
// Description: IOBROKER Script to control Onkyo with HM-PB-6-WM55 // Date: 20160311 // Author: Eisbaeeer // Version 1.0 var ZPW01= "ZPW01" ; //Zone 2 Power ON / Taste 1 kurz var ZPW00= "ZPW00" ; //Zone 2 Power OFF / Taste 1 lang var SLZ26= "SLZ26" ; //Source Terrestric / Taste 2 kurz var SLZ2B= "SLZ2B" ; //Source NET / Taste 2 lang var PRZDOWN= "PRZDOWN" ; //Terr. Tuning Down / Taste 3 kurz var NTZCHDN= "NTZCHDN" ; //NET Tuning Down / Taste 3 lang var PRZUP= "PRZUP" ; //Terr. Tuning Up / Taste 4 kurz var NTZCHUP= "NTZCHUP" ; //NET Tuning UP / Taste 4 lang var ZVLDOWN= "ZVLDOWN" ; //Volume Down / Taste 5 kurz var ZVLUP= "ZVLUP" ; //Volume UP / Taste 6 kurz log("Script KüchenTaster gestartet","info"); on({id: "hm-rpc.0.KEQ0120727.1.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Zone 2 Power ON","info"); setState("onkyo.0.command",ZPW01); }); on({id: "hm-rpc.0.KEQ0120727.1.PRESS_LONG"}, function(obj) { log("Onkyo Receiver Zone 2 Power OFF","info"); setState("onkyo.0.command",ZPW00); }); on({id: "hm-rpc.0.KEQ0120727.2.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Zone2 Source Terrestri","info"); setState("onkyo.0.command",SLZ26); }); on({id: "hm-rpc.0.KEQ0120727.2.PRESS_LONG"}, function(obj) { log("Onkyo Receiver Zone2 Source NET","info"); setState("onkyo.0.command",SLZ2B); }); on({id: "hm-rpc.0.KEQ0120727.3.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Terr. Tuning Down","info"); setState("onkyo.0.command",PRZDOWN); }); on({id: "hm-rpc.0.KEQ0120727.3.PRESS_LONG"}, function(obj) { log("Onkyo Receiver NET Tuning Down","info"); setState("onkyo.0.command",NTZCHDN); }); on({id: "hm-rpc.0.KEQ0120727.4.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Terr. Tuning Up","info"); setState("onkyo.0.command",PRZUP); }); on({id: "hm-rpc.0.KEQ0120727.4.PRESS_LONG"}, function(obj) { log("Onkyo Receiver NET Tuning UP","info"); setState("onkyo.0.command",NTZCHUP); }); on({id: "hm-rpc.0.KEQ0120727.5.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Zone2 Volume Down","info"); setState("onkyo.0.command",ZVLDOWN); }); on({id: "hm-rpc.0.KEQ0120727.6.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Zone2 Volume UP","info"); setState("onkyo.0.command",ZVLUP); });
Wie immer bin ich natürlich gerne für konstruktive Verbesserungsvorschläge offen!
Viel Spaß mit dem Script.
Und ja, ich mach mich an den Onkyo Adapter, wenn ich mehr Zeit habe. Versprochen!
Grüße Eisbaeeer
-
Hallo zusammen
Nach meinem Umstieg von CCU.IO auf IOBroker war jetzt auch mein 6-Fach Taster in der Küche dran. Er steuert mir meine 2. Zone des Onkyo Receivers. Das muss natürlich auch nach dem Umstieg wieder funktionieren, sonst sinkt der WAF Faktor ungemein.
Ich muss aber noch erwähnen, dass mir der aktuelle Onkyo Adapter nicht gefällt. Er ist in meinen Augen derzeit rudimentär und verbesserrungswürdig. Mehr dazu, wenn ich mehr Zeit habe…
Zurück zum Thema:
Hier mein Script zum Steuern der 2. Zone mit einem 6-Fach Taster. Die ID muss natürlich noch auf Euren Taster angepasst werden.
// Description: IOBROKER Script to control Onkyo with HM-PB-6-WM55 // Date: 20160311 // Author: Eisbaeeer // Version 1.0 var ZPW01= "ZPW01" ; //Zone 2 Power ON / Taste 1 kurz var ZPW00= "ZPW00" ; //Zone 2 Power OFF / Taste 1 lang var SLZ26= "SLZ26" ; //Source Terrestric / Taste 2 kurz var SLZ2B= "SLZ2B" ; //Source NET / Taste 2 lang var PRZDOWN= "PRZDOWN" ; //Terr. Tuning Down / Taste 3 kurz var NTZCHDN= "NTZCHDN" ; //NET Tuning Down / Taste 3 lang var PRZUP= "PRZUP" ; //Terr. Tuning Up / Taste 4 kurz var NTZCHUP= "NTZCHUP" ; //NET Tuning UP / Taste 4 lang var ZVLDOWN= "ZVLDOWN" ; //Volume Down / Taste 5 kurz var ZVLUP= "ZVLUP" ; //Volume UP / Taste 6 kurz log("Script KüchenTaster gestartet","info"); on({id: "hm-rpc.0.KEQ0120727.1.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Zone 2 Power ON","info"); setState("onkyo.0.command",ZPW01); }); on({id: "hm-rpc.0.KEQ0120727.1.PRESS_LONG"}, function(obj) { log("Onkyo Receiver Zone 2 Power OFF","info"); setState("onkyo.0.command",ZPW00); }); on({id: "hm-rpc.0.KEQ0120727.2.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Zone2 Source Terrestri","info"); setState("onkyo.0.command",SLZ26); }); on({id: "hm-rpc.0.KEQ0120727.2.PRESS_LONG"}, function(obj) { log("Onkyo Receiver Zone2 Source NET","info"); setState("onkyo.0.command",SLZ2B); }); on({id: "hm-rpc.0.KEQ0120727.3.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Terr. Tuning Down","info"); setState("onkyo.0.command",PRZDOWN); }); on({id: "hm-rpc.0.KEQ0120727.3.PRESS_LONG"}, function(obj) { log("Onkyo Receiver NET Tuning Down","info"); setState("onkyo.0.command",NTZCHDN); }); on({id: "hm-rpc.0.KEQ0120727.4.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Terr. Tuning Up","info"); setState("onkyo.0.command",PRZUP); }); on({id: "hm-rpc.0.KEQ0120727.4.PRESS_LONG"}, function(obj) { log("Onkyo Receiver NET Tuning UP","info"); setState("onkyo.0.command",NTZCHUP); }); on({id: "hm-rpc.0.KEQ0120727.5.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Zone2 Volume Down","info"); setState("onkyo.0.command",ZVLDOWN); }); on({id: "hm-rpc.0.KEQ0120727.6.PRESS_SHORT"}, function(obj) { log("Onkyo Receiver Zone2 Volume UP","info"); setState("onkyo.0.command",ZVLUP); });
Wie immer bin ich natürlich gerne für konstruktive Verbesserungsvorschläge offen!
Viel Spaß mit dem Script.
Und ja, ich mach mich an den Onkyo Adapter, wenn ich mehr Zeit habe. Versprochen!
Grüße Eisbaeeer `
Kannst du die Änderungen nicht direct in Adapter einbauen? -
Kannst du die Änderungen nicht direct in Adapter einbauen? `
Wenn du mir jetzt noch verrätst, wie ich den Adapter im /opt/iobroker Verzeichnis finde. Egal was ich ändere, im Adapter wird das nicht geändert. Ich wollte zum Anfang mal einen Datenpunkt ändern.
Bin ich hier überhaupt im richtigen Verzeichnis?
/opt/iobroker/node_modules/iobroker.onkyo/onkyo.js
Ich habe die Datei editiert, aber in der iobroker Umgebung ändert sich nach dem Neustart des Adapters nichts. Als ob ich die falsche Datei editiere.
Wo liegt bei der 0er Instanz die richtige Datei?
Ich habe auch schon versucht, den Adapter zu löschen und neu anzulegen.
Gruß Eisbaeeeer
-
Kannst du die Änderungen nicht direct in Adapter einbauen? `
Wenn du mir jetzt noch verrätst, wie ich den Adapter im /opt/iobroker Verzeichnis finde. Egal was ich ändere, im Adapter wird das nicht geändert. Ich wollte zum Anfang mal einen Datenpunkt ändern.
Bin ich hier überhaupt im richtigen Verzeichnis?
/opt/iobroker/node_modules/iobroker.onkyo/onkyo.js
Ich habe die Datei editiert, aber in der iobroker Umgebung ändert sich nach dem Neustart des Adapters nichts. Als ob ich die falsche Datei editiere.
Wo liegt bei der 0er Instanz die richtige Datei?
Ich habe auch schon versucht, den Adapter zu löschen und neu anzulegen.
Gruß Eisbaeeeer `
Die Datei /opt/iobroker/node_modules/iobroker.onkyo/onkyo.js ist schon richtig.Wenn du jetzt z.B. adapter.log.info('HALLO') bei der ready-Function (Zeile 66)
-
Die Datei /opt/iobroker/node_modules/iobroker.onkyo/onkyo.js ist schon richtig.
Wenn du jetzt z.B. adapter.log.info('HALLO') bei der ready-Function (Zeile 66) `
Ok, das war ein guter Hinweis. Das Problem an dem ganzen ist dass der "Fehler" gar nicht im iobroker Adapter ist, sondern im node_module vom eiscp.
Ich hatte für ccu.io die ganze eiscp Kommunikation per socket selbst zusammengebaut und habe kein node_module eingebunden.
Für meinen Geschmack ist der derzeitige Onkyo Adapter viel zu mächtig gebaut. Das modul unterstützt mehr als 6 Zonen, was kein Mensch braucht.
Dafür gibt das node_module aber Werte zurück, welche in iobroker nicht zu gebrauchen sind. Wir benötigen in unseren Variablen digitale Werte wie "false" "true" "0" oder "1". Alles andere kann nicht verarbeitet werden!?
Ich mache mir mal Gedanken, ob ich den Adapter komplett neu mache bzw. den "alten" hier übernehme. Ich muss mich immer noch in diese Struktur einarbeiten. Das kostet viel Zeit. Aber was hilft es.
Gruß Eisbaeeer