ioBroker.lgtv
ioBroker.lgtv copied to clipboard
Remote key right is doing two steps
Describe the bug
When I activate the remote key right command, it is doin double action!
To Reproduce
Use the command
Version 2.1.1
Any 1 out there?
yes, somebody here..
on my LG's is the adapter working fine, I'm on latest version 2.1.2
When I use <lgtv.0.remote.right>, my TV does 2 steps to the right. So either the adapter sends 2 commands, or the command is too long and gets interpreted as 2 commands?
I also use 2.1.2, and it is the only command doing that!
Thanx for 2.2.0 - but the cursor is still doing 2 steps to the right. Based on my experience, I guess it is a problem with the length of the IR data. Would you mind to check that?
Danke für Version 2.2.0 - aber wenn ich die Funktion <lgtv.0.remote.right> ausführe, springt der Cursor um 2 Schritte nach rechts. In der Vergangenheit waren solche Effekte meist im "gelernten" IR Befehl begründet. Es wäre Klasse, wenn das gefixt werden könnte.
Same problem here with v2.2.0
All Buttons for remote makes two steps. Any solution for this known? Maybe a workaround with blockly?
Wenn man die Datenpunkte über den Objektbrowser ändert dann reagiert z.B. "Lautstärke Plus" wenn ich den Datenpunkt (Button) auf true setze und auch wieder wenn ich den auf false setze. Jede Statusänderung verändert die Lautstärke in die selbe Richtung.
Der Adapter sollte nur auf true triggern.
Das ist ein button, der muss so sein, den setzt man auch nur auf true..
Das ist ein button, der muss so sein, den setzt man auch nur auf true..
Richtig, den setzt man auf true wenn man ihn "drückt". Aber wenn der Button virtuell losgelassen wird, dann springt der Datenpunkt automatisch auf false (sieht man nur nicht in Klartext im Datenpunkt).
Und wegen diesem Bug wird dann die die Aktion zweimal ausgeführt, weil der Adapter auch auf false reagiert und nicht nur auf true.
kann ich leider nicht nachvollziehen, der Datenpunkt ist true, bleibt true, und macht auch nur einmal was er soll. Da geht nix auf false... gerade getestet und mit influx geloggt.. Setz den Adapter mal auf debug und poste das mal, vielleicht sieht man da was..??
Also ich hab mir in Blockly mal einen Trigger auf den Remote-Key Up gesetzt.
Wenn der Button gedrückt wird, dann kommt das dabei raus:
2024-06-18 20:58:01.354 - error: javascript.0 (16697) script.js.common.Fernseher_App: true
2024-06-18 20:58:01.363 - error: javascript.0 (16697) script.js.common.Fernseher_App: false
Wenn ich im Objektbrowser in der Expertenansicht den Datenpunkt manuell auf True setze bleibt er auch true - und die Aktion KeyUp wird am Fernseher auch nur einmal ausgelöst.
Wenn ich den dann manuell auf false zurückstelle, wird die selbe Funktion KeyUp wieder ausgeführt (und das sollte meiner Meinung nach nicht sein).
Daher die Zweifache Ausführung wenn der Datenpunkt als Button betätigt wird.
Hab mal kurz in den Code geschaut:
Volume up ist offensichtlich ein BUTTON und verhält sich lt. Code richtig. Anlog sieht der Code für remote keys aus. Der VALUE eines Buttons ist irrelevant - jedes Beschreiben eines States mit der Role BUTTON mit ACK=FALSE löst eine Aktion aus. Normalerweise wird ein Button nur mit val=true, ack=false beschrieben. Da ein Button aber im Grunde genommen keinen Wert hat, löst auch ein Beschreiben mit val=false ack=false eine AKtion aus.
Ergo sehe ich hier eigentlich einen Verwendungsfehler.
Du schreibst "Wenn der Button gedrückt wird". Was meinst du damit genau. Welcher Button wird wo gedrückt? Das Bumper Symbol im Objektbrowser? In der VIS solltest du kein SWITCH sondern ein Taster Widget verwenden und das sollte eigentlich nur einmal den Wert auf true setzen (und nie auf false).
Also bitte um genaue Info: Welcher State mit welcher Id wird wie beschrieben?
Das ist ein button, der muss so sein, den setzt man auch nur auf true..
Richtig, den setzt man auf true wenn man ihn "drückt". Aber wenn der Button virtuell losgelassen wird, dann springt der Datenpunkt automatisch auf false (sieht man nur nicht in Klartext im Datenpunkt).
Und wegen diesem Bug wird dann die die Aktion zweimal ausgeführt, weil der Adapter auch auf false reagiert und nicht nur auf true.
a) Ein State springt eigentlich nicht virtuell herum :-) Bist du sicher, dass du den State nicht mittels SCHALTER betätigst? b) Was passiert wenn du den Bumper im Objektbrowser verwendets? c) Ich kann (noch) nicht ausschließen dass im Adapter etwas falsch läuft. ABER du bzw deine VIS dürfen den State NICHT auf false zurücksetzen - oder sich nicht wundern, wenn eine zweite Aktion ausgelöst wird. Buttons reagieren auf das Beschreiben mit acj=false und unabhängig vom Wert.
Wenn der Button gedrückt wird, dann kommt das dabei raus:
2024-06-18 20:58:01.354 - error: javascript.0 (16697) script.js.common.Fernseher_App: true 2024-06-18 20:58:01.363 - error: javascript.0 (16697) script.js.common.Fernseher_App: false
Welcher Button wird da gedrückt?
Wenn ich im Objektbrowser in der Expertenansicht den Datenpunkt manuell auf True setze bleibt er auch true - und die Aktion KeyUp wird am Fernseher auch nur einmal ausgelöst.
Das ist das richtige Verhalten.
Wenn ich den dann manuell auf false zurückstelle, wird die selbe Funktion KeyUp wieder ausgeführt (und das sollte meiner Meinung nach nicht sein).
Auch das ist richtig und soll bei einem Button so sein.
Daher die Zweifache Ausführung wenn der Datenpunkt als Button betätigt wird.
Ja, da der State ja 2x beschrieben wird. Mit welchem Wert ist bei einem Button per definition egal.
Also bitte um genaue Info: Welcher State mit welcher Id wird wie beschrieben?
Die Kernfrage ist nun - von welchem BUTTON wird hier geredet. Wo ist der?
Ich denke, das Issue kann man zu machen, hier liegt eindeutig ein Fehler in der Bedienung (oder des Skriptes ) vor.
Ja - nur würd ich die Frage welcher Button hier angesprochen wurde noch klären.
es geht hier im Titel um lgtv.0.remote.right. dann um lgtv.0.states.volumeUp. Sind alles Button.
Diese sind gemeint. Entweder im Objektbrowser oder halt per VIS geschalten.
Aber für mich okay, wenn das Verhalten vom Adapter so korrekt ist dann muss ich bei mir das anders realisieren.
Wenn die Buttons im Object Browser false setzen muss man / ich das checken
Da ja anscheinend nur der Themenstarter und ich das Problem haben ist es für mich auch ok, dann hab ich ein falsches Verständnis von der Funktionsweise 🙂
Wie gesagt, ich bau einen Workaround mit Blockly und verhindere dadurch die doppelte Auslösung.
@mcm1957 er macht das mit VIS, ich nehme an, anstatt ein Button nimmt er einen Schalter, und der setzt den Button auf true/false, was halt eine falsche Anwendung ist. Wenn ich im Objektbrowser den Button mit True begluecke, dann macht er auch nur ein true. (protokolliert mit influx-history)
Hier nimmt der User aber ein Skript, das den Button erst auf true und dann auf false setzt, und daher loest der Adapter den Befehl 2x aus. Also alles richtig, bis auf den Anwendungsfehler und das Skript.
@LastPerfectTobi Wenn du einen "echten" Schalter in iobroker fuer deine Vis oder sonstige Faelle brauchst, dann mach dir einfach einen extra Datenpunkt unter 0_userdata.0. und ein kleines Script, dass hier ein/aus schaltet.
Ah, hat sich ueberschnitten, genauso, soll man es machen.
@LastPerfectTobi Admin 7.0.1 wurde wieder zurueckgezogen, besser wieder auf die letzte Beta zurueck gehen..
Ok ich fasse dann mal zusammen:
Mit dem Button im Objectbrowser sollte es funktionieren - wenn nicht bitte Bescheid geben.
Per Skript den State NUR auf val=zrue mit ack=false setzen. NICHT auf false retour setzen.
In einer VIS unbedingt einen Button und keinen Schalter verwenden.
Wenn dann noch immer was nicht so funktioniert wie erwartet gerne nochmals melden.