NEWS
Harmony Hub - Sender umschalten
-
Irgendwie will mich die ganze Geschichte ärgern.
Wenn ich eine Szene z. B. für ProSieben "116" erstelle, zeigt mein Receiver keine Reaktion.
Dann "muss" ich wohl bei der "normalen" Harmony Elite bleiben!
-
Super Sache dieses Script!
Nur kann mir jemand bitte genau das Format für die Zeitverzögerung erklären? Und ist die Zeitangabe in sekunden oder millisekunden?
[[commandId1,time],commandId2,…]
so wie es im code-kommentar angegeben ist funktioniert es bei mir nicht. Habe sämtliche kombinationen ausprobiert. Scheinbar mach ich etwas falsch.... `
"time" ist nicht die Zeit zwischen den Commands, sondern wie lange die Taste gedrückt werden soll, also z.B 1000 für eine Sekunde. Ohne Angabe sind es immer 110ms, weniger kann der Hub wohl eh nicht.Um auch Zeiten zwischen den Eingaben zu ermöglichen könnte man das Skript erweitern:
NICHT GETESTET!
`/* created States */ var sequenceStateId = "javascript." + instance + ".HIFI.HubSequence.input"; createState(sequenceStateId, ""); /* format: * [[commandId1,time], time, commandId2,...] */ on({id: sequenceStateId, change: "any"}, function (state) { if (state.newState.ack === false){ setState(sequenceStateId, "", true); try{ var array = JSON.parse(state.newState.val); var delay = 0; if (Array.isArray(array)){ for (var i = 0; i < array.length; i++){ if (Array.isArray(array[i])) { if (array[i].length > 1) { setStateDelayed(array[i][0], array[i][1], delay, false); delay += array[i][1]; }else{ setStateDelayed(array[i][0], 110, delay, false); delay += 110; } } else if (typeof array[i] === 'number') { delay += array[i]; } else if (typeof array[i] === 'string'){ setStateDelayed(array[i], 110, delay, false); delay += 110; } } } }catch(e) { log("invalid json", 'warn'); } } });`[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
-
Hallo und danke für deine Antwort.
Ist das soweit richtig?(Siehe Fotos)
Denn, wenn ich auf den Btn. klicke, passiert leider nichts. `
Bei Wert sehe ich nicht die eckigen klammern, die sind notwendig!
["command1","command2","command3"] usw ist das erforderliche schema!
-
Super Sache dieses Script!
Nur kann mir jemand bitte genau das Format für die Zeitverzögerung erklären? Und ist die Zeitangabe in sekunden oder millisekunden?
[[commandId1,time],commandId2,…]
so wie es im code-kommentar angegeben ist funktioniert es bei mir nicht. Habe sämtliche kombinationen ausprobiert. Scheinbar mach ich etwas falsch.... `
"time" ist nicht die Zeit zwischen den Commands, sondern wie lange die Taste gedrückt werden soll, also z.B 1000 für eine Sekunde. Ohne Angabe sind es immer 110ms, weniger kann der Hub wohl eh nicht.Um auch Zeiten zwischen den Eingaben zu ermöglichen könnte man das Skript erweitern:
NICHT GETESTET!
! ```
`/* created States /
var sequenceStateId = "javascript." + instance + ".HIFI.HubSequence.input";
createState(sequenceStateId, "");
! / format:- [[commandId1,time], time, commandId2,...]
*/
! on({id: sequenceStateId, change: "any"}, function (state) {
if (state.newState.ack === false){
setState(sequenceStateId, "", true);
try{
var array = JSON.parse(state.newState.val);
var delay = 0;
if (Array.isArray(array)){
for (var i = 0; i < array.length; i++){
if (Array.isArray(array[i])) {
if (array[i].length > 1) {
setStateDelayed(array[i][0], array[i][1], delay, false);
delay += array[i][1];
}else{
setStateDelayed(array[i][0], 110, delay, false);
delay += 110;
}
} else if (typeof array[i] === 'number') {
delay += array[i];
} else if (typeof array[i] === 'string'){
setStateDelayed(array[i], 110, delay, false);
delay += 110;
}
}
}
}catch(e) {
log("invalid json", 'warn');
}
}
});! Habs gestetet und funktioniert! Angabe der zeitverzögerung muss in Millisekunden erfolgen. Danke dir![/i][/i][/i][/i][/i][/i][/i][/i][/i][/i] ```
- [[commandId1,time], time, commandId2,...]
-
Hallo und danke für deine Antwort.
Ist das soweit richtig?(Siehe Fotos)
Denn, wenn ich auf den Btn. klicke, passiert leider nichts. `
Bei Wert sehe ich nicht die eckigen klammern, die sind notwendig!
["command1","command2","command3"] usw ist das erforderliche schema! `
Hallo eXTreMe,
ich bekomme es einfach nicht hin.
Falls es keine Umstände macht, könntest du mir evtl. Screenshots machen, wie es genau auszusehen hat?
Einen guten Start in die Woche.
-
Hallo und danke für deine Antwort.
Ist das soweit richtig?(Siehe Fotos)
Denn, wenn ich auf den Btn. klicke, passiert leider nichts. `
Bei Wert sehe ich nicht die eckigen klammern, die sind notwendig!
["command1","command2","command3"] usw ist das erforderliche schema! `
Hallo eXTreMe,
ich bekomme es einfach nicht hin.
Falls es keine Umstände macht, könntest du mir evtl. Screenshots machen, wie es genau auszusehen hat?
Einen guten Start in die Woche. `
Hier anbei ein Screenshot von den Einstellungen meines VIS Widgets für Pro7 (Sendernummer 16)
Hier der Wert der in den input Datenpunkt geschrieben wird["harmony.0.Wohnzimmer.activities.Fernsehen","harmony.0.Wohnzimmer.Samsung-Fernseher.Exit","harmony.0.Wohnzimmer.Samsung-Fernseher.InputTv","harmony.0.Wohnzimmer.Samsung-Fernseher.Number1","harmony.0.Wohnzimmer.Samsung-Fernseher.Number6","harmony.0.Wohnzimmer.Samsung-Fernseher.Select"]
im Prinzip reicht auch das hier um den Sender 16 (bei mir Pro7) anzuschalten:
["harmony.0.Wohnzimmer.Samsung-Fernseher.Number1","harmony.0.Wohnzimmer.Samsung-Fernseher.Number6","harmony.0.Wohnzimmer.Samsung-Fernseher.Select"]
Datenpunkte musst du halt entsprechend auf deinen Fernseher anpassen.
-
Hallo,
ich hab jetzt alles versucht.
Mit[], im Script, ohne und vieles mehr.
Jetzt bekomme ich folgende Meldung(siehe Bild)
5296_umschalten.png
5296_umschalten1.png -
Was schreibst du bei "Wert" rein, kopier mal alles hier rein bitte
-
z. B.:
["harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number8"]
-
hmm ja, so ist das korrekt wenn er die 8 drücken soll.
wenn er nach der 8 noch beispielsweise die 5 drücken soll müsste das vom Schema her so aussehen:
["harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number8","harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number5"]
Aber das scheinst du ja verstanden zu haben.
Funktioniert denn der Command mit nur der "8" (also ohne weitere tastencommands hintendran)?
Oder kommt da die gleiche meldung?
Falls da auch die meldung kommt: funktioniert es denn wenn du unter Objekte beim Harmony Adapter die Buttons für die Zahlen des Geräts mit der Maus anklickst?
Weil die Fehlermeldungen sagen ja "client offline" also "Hub nicht erreichbar".
-
Nope, sehe gerade, dass gar nichts über den Adapter funktioniert, nicht mal die Aktionen, im Vis führt er aus.
[EDIT] Habe den Adapter neu gestartet und jetzt den erstellten erstellten Btn klicke, sendet er den Befehlsreihenfolge aber gleich 2x.
harmony.0 2018-02-20 04:22:25.055 info hub busy, stateChange delayed: harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number7=110 harmony.0 2018-02-20 04:22:25.054 info hub busy, stateChange delayed: harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number1=110 harmony.0 2018-02-20 04:22:25.045 info hub busy, stateChange delayed: harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number1=110 harmony.0 2018-02-20 04:22:25.045 info hub busy, stateChange delayed: harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number7=110
Und warum er die letzte Zahl am Anfang senden möchte(obwohl sie nicht geschalten wird), ist mir schleierhaft.
Aber es funktioniert jetzt.
-
Hallo zusammen,
vielleicht kann einer von euch mir helfen.
Habe das Script "Hifi Hub Sequenze" genommen um die States anzulegen.
Habe diesen Befehl bei Wert im Widget "Ctrl. Icon State "angegeben ["harmony.0.Wohnzimmer.TV Home.Number1","harmony.0.Wohnzimmer.TV Home.Number0","harmony.0.Wohnzimmer.TV Home.Number7","harmony.0.Wohnzimmer.TV Home.Select"].
Es wird aber nur 2stellig geschaltet.
Bräuchte es aber 3stellig.
Grüße helfi9999