ioBroker / ioBroker.javascript

Script engine for JavaScript and Blockly
MIT License
320 stars 119 forks source link

[Bug]: setStateDelayed ack=true doesn't work #1597

Closed Diginix closed 3 weeks ago

Diginix commented 4 weeks ago

I'm sure that

Script type

Blocky and Javascript

The problem

The ack flag is always false, even it should be set to true.

setStateDelayed('0_userdata.0.test', { val: getState('0_userdata.0.test').val, ack: true }, parseInt(((0) || '').toString(), 10), false);

<block xmlns="https://developers.google.com/blockly/xml" type="control_ex" id="+SC~R+V=(/9|bb3/Vj#m" x="-762" y="-213">
  <field name="TYPE">true</field>
  <field name="CLEAR_RUNNING">FALSE</field>
  <value name="OID">
    <shadow type="field_oid" id="J8Qse]xrm+?.1WAGU`=y">
      <field name="oid">Object ID</field>
    </shadow>
    <block type="field_oid" id="!9B(Zt99V2LHVWuHpzeL">
      <field name="oid">0_userdata.0.test</field>
    </block>
  </value>
  <value name="VALUE">
    <shadow type="logic_boolean" id="5m$I]*O;Bk)IzuV?@M.]">
      <field name="BOOL">TRUE</field>
    </shadow>
    <block type="get_value_var" id="tLIs-c}}cyr|_kPRh4Rm">
      <field name="ATTR">val</field>
      <value name="OID">
        <shadow type="field_oid" id="BFX!cX_CHp0=$b!ggu-m">
          <field name="oid">Object ID</field>
        </shadow>
        <block type="field_oid" id="oY*.nE;5M4*,V_p3KC1c">
          <field name="oid">0_userdata.0.test</field>
        </block>
      </value>
    </block>
  </value>
  <value name="DELAY_MS">
    <shadow type="math_number" id="+2E(PGNL!Z/aq10E]JRO">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>

image

iobroker.current.log (in debug mode!)

No response

Version of nodejs

18.20.3

Version of ioBroker js-controller

5.0.19

Version of adapter

8.4.2

Diginix commented 4 weeks ago

Downgrad to 8.3.1 solves it. Maybe it is related to the "läuft ab in (sek.)".

The code is now this:

setStateDelayed('0_userdata.0.test', getState('0_userdata.0.test').val, true, parseInt(((0) || '').toString(), 10), false);

<block xmlns="https://developers.google.com/blockly/xml" type="control_ex" id="+SC~R+V=(/9|bb3/Vj#m" x="-762" y="-213">
  <field name="TYPE">true</field>
  <field name="CLEAR_RUNNING">FALSE</field>
  <value name="OID">
    <shadow type="field_oid" id="J8Qse]xrm+?.1WAGU`=y">
      <field name="oid">Object ID</field>
    </shadow>
    <block type="field_oid" id="!9B(Zt99V2LHVWuHpzeL">
      <field name="oid">0_userdata.0.test</field>
    </block>
  </value>
  <value name="VALUE">
    <shadow type="logic_boolean" id="5m$I]*O;Bk)IzuV?@M.]">
      <field name="BOOL">TRUE</field>
    </shadow>
    <block type="get_value_var" id="tLIs-c}}cyr|_kPRh4Rm">
      <field name="ATTR">val</field>
      <value name="OID">
        <shadow type="field_oid" id="BFX!cX_CHp0=$b!ggu-m">
          <field name="oid">Object ID</field>
        </shadow>
        <block type="field_oid" id="oY*.nE;5M4*,V_p3KC1c">
          <field name="oid">0_userdata.0.test</field>
        </block>
      </value>
    </block>
  </value>
  <value name="DELAY_MS">
    <shadow type="math_number" id="+2E(PGNL!Z/aq10E]JRO">
      <field name="NUM">0</field>
    </shadow>
  </value>
</block>
klein0r commented 4 weeks ago

Already fixed in 05da77b79fd7c48853bebd92e7653e022a1ac061

Diginix commented 4 weeks ago

Already fixed in 05da77b

But not released as new beta?

klein0r commented 4 weeks ago

Not right now, I have to fix some minor issues in Blockly until a new version is released