NEWS
[Gelöst] vis Radiobuttons - Knopf bleibt nicht gedrückt
-
Hallo,
ich habe einen Datenpunkt des Denon-Adapters "denon.0.selectInput", mit dem man den Kanal auswählt (Phono, CD, Tuner, usw.) In diesem steht folgende Liste:
! ````
{
"_id": "denon.0.selectInput",
"type": "state",
"common": {
"name": "selectInput",
"role": "Select Input",
"type": "number",
"write": true,
"read": true,
"states": {
"0": "PHONO",
"1": "CD",
"2": "TUNER",
"3": "DVD",
"4": "BD",
"5": "TV",
"6": "SAT/CBL",
"7": "MPLAY",
"8": "GAME",
"9": "NET",
"10": "SPOTIFY",
"11": "LASTFM",
"12": "IRADIO",
"13": "SERVER",
"14": "FAVORITES",
"15": "AUX1",
"16": "AUX2",
"17": "AUX3",
"18": "AUX4",
"19": "AUX5",
"20": "AUX6",
"21": "AUX7"
}
},
"native": {},
"from": "system.host.raspberrypi.cli",
"ts": 1528729789206,
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}
}Nun möchte ich beispielsweise mit dem Widget __jqui - Radiobuttons ValueList__ mehrere dieser Kanäle abbilden. Im Widget steht folgendes: ![6940_clipboard01.jpg](/assets/uploads/files/6940_clipboard01.jpg) Wenn ich nun z.B. auf "Music" drücke, wechselt der Datenpunkt und auch der Kanal des Receivers erfolgreich auf "6" (SAT/CBL). Jedoch bleibt der Knopf "Music" visuell nicht gedrückt, sondern wechselt zurück in nicht ausgewählt. So sollte es nach dem Drücken von "Music" stehen bleiben: ![6940_clipboard02.jpg](/assets/uploads/files/6940_clipboard02.jpg) Allerdings wechselt es binnen Millisekunden so zurück: ![6940_clipboard03.jpg](/assets/uploads/files/6940_clipboard03.jpg) Wenn ich statt "6; 7" die Werte "SAT/CBL; MPLAY" im Widget eintrage, so klappt es zwar, aber der Denon-Adapter stürzt sofort ab, weil wohl ein nicht bekannter Wert in den Datenpunkt geschrieben wird, und man diesen ja über die Nummern (Index) ansprechen sollte. ![6940_clipboard04.jpg](/assets/uploads/files/6940_clipboard04.jpg) Wie kann ich das konfigurieren, dass bei Auswahl der Knopf gedrückt bleibt? Danke für Eure Hilfe!
-
Hmm..
Einzige was mir dazu einfällt ist ein Dummy object zu erzeugen mit dieser Liste und Dan per Script den Wert der auf diesem object gesetzt ist auf den Denon Datenpunkt zu übertragen.
So bleibt die Werte Liste und schaltest du das object mit den richtigen Signalen.
Geht bestimmt auch eleganter
Sent from my iPhone using Tapatalk
-
Danke Dutchman, nicht elegant, aber es funktioniert
Ich nutze das Dummy-Objekt wie folgt, dadurch wird das Dummy-Objekt ebenso aktualisiert, wenn der Denon-Kanal nicht über vis geändert wird:
// WICHTIG: change: "ne", dadurch keine Endlosschleife! on({id: "javascript.0.mic.my-vis.denon.kanal", change: "ne"}, function (obj) { if(obj.state.val === 'Music'){ setState('denon.0.selectInput', 6); } else if(obj.state.val === 'Cinema'){ setState('denon.0.selectInput', 7); } }); on({id: "denon.0.selectInput", change: "ne"}, function (obj) { if (obj.state.val === 6 || obj.state.val === '6' || obj.state.val === 'SAT/CBL') { setState('javascript.0.mic.my-vis.denon.kanal', 'Music'); } }); on({id: "denon.0.selectInput", change: "ne"}, function (obj) { if (obj.state.val === 7 || obj.state.val === '7' || obj.state.val === 'MPLAY') { if (getState('javascript.0.mic.my-vis.denon.kanal').val !== 'Cinema'){ setState('javascript.0.mic.my-vis.denon.kanal', 'Cinema'); } } });
-
Kannst du mal bitte
"type": "number"
des States durch````
"type": "string"Und dann probieren ob es ohne das Skript geht. Ich denke, da Vis usw mit den String-Werten arbeitet wäre es evtl. sinnvoll dass ich das im Adapter ändere.
-
Kannst du mal bitte
"type": "number"
des States durch````
"type": "string"Und dann probieren ob es ohne das Skript geht. `
Danke foxriver. Hat leider nichts gebracht, bei folgendem im Widget. Der Knopf ist bei Betätigung kurz aktiv, aber innerhalb Millisekunden dann wieder deaktiviert.
![](</s><URL url=)<link_text text="download/file.php?id=30363">https://forum.iobroker.net/download/file.php?id=30363</link_text>" /> -
@Mic:Kannst du mal bitte
"type": "number"
des States durch````
"type": "string"Und dann probieren ob es ohne das Skript geht. `
Danke foxriver. Hat leider nichts gebracht, bei folgendem im Widget. Der Knopf ist bei Betätigung kurz aktiv, aber innerhalb Millisekunden dann wieder deaktiviert.
![](</s><URL url=)<link_text text="download/file.php?id=30363">https://forum.iobroker.net/download/file.php?id=30363</link_text>" />` ~~Du hast recht, in deinem Fall funktioniert jedoch die neue Version (0.2.2) wie folgt (CSS-Klassen natürlich egal):~~
-
Du hast recht, in deinem Fall funktioniert jedoch die neue Version (0.2.2) wie folgt (CSS-Klassen natürlich egal): `
Perfekt, so funktioniert es, vielen Dank!