NEWS
JS Denon Lautstärke bei bestimmten Eingang
-
Hallo,
vorne weg ich hab leider wenig Ahnung von JS.
Ich habe folgenden Code von der Denon FAQ:
setState('denon.0.zoneMain.volume', 47.5);
Darüber funktioniert das Verändern der Lautstärke.
Ursprünglich wollte ich ein Blockly aber da schreibt er zwar die neue Lautstärke in den DP vom Denon aber er ändert es nicht am Denon selbst. keine Ahnung warum.
kann man das hier auch als JS machen?
-
@olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:
Ursprünglich wollte ich ein Blockly aber da schreibt er zwar die neue Lautstärke in den DP vom Denon aber er ändert es nicht am Denon selbst. keine Ahnung warum.
da glaub ich dir so nicht..
zeigmal dein blockly dafür..
-
@olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:
Ursprünglich wollte ich ein Blockly aber da schreibt er zwar die neue Lautstärke in den DP vom Denon aber er ändert es nicht am Denon selbst. keine Ahnung warum.
Das hier sollte problemlos funktionieren:
Denn dabei kommt genau das an JS raus was Du brauchst:
on({id: "Object ID", change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("denon.0.zoneMain.volume"/*Main Volume*/, 47.5, true); });
-
@arteck
ich glaube es ja selbst kaum<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="v0NbyO@0v|1,5|FFMCtT" x="162" y="137"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="M[}H}c?,xv[kP0-6-5Dk"> <field name="oid">denon.0.zoneMain.selectInput</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="n5ZgauT==armen.]p9Gw"> <value name="IF0"> <block type="logic_compare" id="dc0dw7~8H8.P1Z=.y__Q"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="vQ]=~x{pWNJM#sW%_fW#"> <field name="ATTR">val</field> <field name="OID">denon.0.zoneMain.selectInput</field> </block> </value> <value name="B"> <block type="text" id="!sI@c/V8[n1[/ixDr~2F"> <field name="TEXT">TV</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="-Lg]-7biSZuW[S|*o?H7"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">denon.0.zoneMain.volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="LiR_Nt/2ghq,Uh2,.ye;"> <field name="NUM">40</field> </block> </value> </block> </statement> </block> </statement> </block> </xml>
Also den DP ändert er ja da scheint das Blockly zu stimmen nur der Denon macht halt nix
-
ja ich brauch nur eine Bedinung bzw. eigentlich 3 Bedingungen
aber wenn ich hier auf reload klicke, ändert er es mir direkt am Denon auch.
-
@olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:
ja ich brauch nur eine Bedinung bzw. eigentlich 3 Bedingungen
du brauchst da nicht zusätzlich das JS.
Ich hab gerade dein Blockly probiert. Das funktioniert.Was ist, wenn du in
denon.0.zoneMain.volume
den Wert händisch eingibst? Schaltet er dann? -
witztigerweise schon wenn ich es selbst reinschreibe über den DP direkt macht er es grad.
stehe echt am schlauch..
-
er schaltet einfach beim Blockly nicht den denn das ist echt merkwürdig.
Hab auch schon mal adapter und alles gelöscht und neu eingerichtet aber immer das gleiche Phänomen
-
@olli_m
Runde mal auf ganze Zahlen. Der kommt offensichtlich mit Dezimalzahlen nicht klar. -
Wie gut dass die Katze hier oben im Arbeitszimmer schläft.
Die wäre sonst unten vom Kratzbaum gefallen -
@olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:
er schaltet einfach beim Blockly nicht den denn das ist echt merkwürdig.
das funktioniert.
Teste es mal.<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="v0NbyO@0v|1,5|FFMCtT" x="162" y="137"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="M[}H}c?,xv[kP0-6-5Dk"> <field name="oid">denon.0.zoneMain.selectInput</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="n5ZgauT==armen.]p9Gw"> <value name="IF0"> <block type="logic_compare" id="dc0dw7~8H8.P1Z=.y__Q"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="vQ]=~x{pWNJM#sW%_fW#"> <field name="ATTR">val</field> <field name="OID">denon.0.zoneMain.selectInput</field> </block> </value> <value name="B"> <block type="text" id="!sI@c/V8[n1[/ixDr~2F"> <field name="TEXT">BD</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="|ydM|:$sUKp$E%k/5*W$"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">denon.0.zoneMain.volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="nWBZVIz~+gtiuo*J6fv5"> <field name="TEXT">10</field> </block> </value> </block> </statement> </block> </statement> </block> </xml>
-
probiere ich gleich mal...
-
@codierknecht
an dem lass nicht leiderhab jetzt mal nur ein JS erstellt mit folgendem Code:
on({id: [].concat(['denon.0.zoneMain.selectInput']), change: "any"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("denon.0.zoneMain.selectInput").val == 'TV') { setState("denon.0.zoneMain.volume"/*Main Volume*/, 44.5); } });
Was interessant ist dass er paar Wörter unterkringelt im JS:
-
@negalein said in JS Denon Lautstärke bei bestimmten Eingang:
geht leider nicht...das ist nicht viel anders oder das blockly als meines oder?
JS nutze ich die 6.0.3
-
@olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:
Was interessant ist dass er paar Wörter unterkringelt im JS:
Nimm mal diesen Block:
Bei mir funzt das Blockly perfekt (Denon AVR-X1200W)
-
@olli_m sagte in JS Denon Lautstärke bei bestimmten Eingang:
das ist nicht viel anders oder das blockly als meines oder?
bei
steuere Main Volume
hast du einenMath Baustein
und ich einenText Baustein
-
@negalein sagte in JS Denon Lautstärke bei bestimmten Eingang:
bei steuere Main Volume hast du einen Math Baustein und ich einen Text Baustein
Zahl wäre ja auch "richtiger". Der DP ist als
number
definiert.So wäre es eigentlich "richtiger"
-
Eigenartig, der Datenpunkt ist ja vom Typ number:
-
@meister-mopper sagte in JS Denon Lautstärke bei bestimmten Eingang:
der Datenpunkt ist ja vom Typ number:
Wobei der Adapter es scheinbar versäumt hat, ein
step
zu definieren.
Am Geräte und in der App kann man nur ganzzahlige Werte wählen. Daher sollte das im Blockly wohl besser gerundet werden. -
@codierknecht sagte in JS Denon Lautstärke bei bestimmten Eingang:
Zahl wäre ja auch "richtiger". Der DP ist als number definiert.
So wäre es eigentlich "richtiger"Ja, aber funktioniert mit
Math
nicht.
MitText
schon.Ist zumindest bei mir so.
@meister-mopper sagte in JS Denon Lautstärke bei bestimmten Eingang:
Eigenartig, der Datenpunkt ist ja vom Typ number:
Ja, ist komisch.
@codierknecht sagte in JS Denon Lautstärke bei bestimmten Eingang:
Am Geräte und in der App kann man nur ganzzahlige Werte wählen. Daher sollte das im Blockly wohl besser gerundet werden.
Ich kann in
0,5
Werte schalten.
Dem Adapter ist es auch egal ob.
oder,