ioBroker.javascript: Missing timeout for sendToAsync()

Describe the bug
Es gibt keine Möglichkeit einen timeout bei sendToAsync() zu setzen

To Reproduce
Beide SendtoAsync bleiben hängen, wenn telegram ausgeschaltet ist.

test1()
test2()
async function test1() {
    await sendToAsync("telegram", "send", {user: 'Tim', text: 'Test1'});
    log('test1');
}
async function test2() {
    await sendToAsync("telegram", "send", {user: 'Tim', text: 'Test2'}, { timeout: 1000 });
    log('test2');
}

Im Adapter jedoch nicht.

await this.adapter.sendToAsync(this.options.adapter, 'send', opt, { timeout: 2000 })

Expected behavior
sendToAsync() muß immer zurück kommen.

Versions:

  • Adapter version: v7.1.6

Additional context
Eventuell einen Defaultwert setzten um Einsteigern das verwenden zu erleichtern.

About this issue

  • Original URL
  • State: closed
  • Created 8 months ago
  • Comments: 20 (3 by maintainers)

Commits related to this issue

Most upvoted comments

Neuer timeout parameter? Nicht angegeben ist’s wie immer. Angegeben gilt der den der use setzt. Also kein default wert. Oder default 30s. 5s find ich zu kurz.

es wäre daher wünschenswert wenn es sich vermeiden liessen diese 30 Blöcke zu kopieren und jeweils einen pro Instanz zu nutzen.

Mh? Du nutzt hier eine Beta-Version und hast einen Bug gemeldet. Dieser wurde schon gefixt und in der nächsten Version ist wieder alles gut. Einfach warten

Seit Version 7.2. vom javascript Adapater habe ich in zweien meiner Blocky Scripte einen Timout-Error.

Das Problem ist folgendes:

  • Awtrix light definiert mit dem sendTo-Baustein auch eine Callback-Funktion (das machen die wenigsten)
  • Wenn man nun an alle Instanzen (also nicht explizit awtrix-light.0 usw.) sendet, dann wird der Callback nie aufgerufen
  • Dadurch denkt der JavaScript-Adapter, dass es zu einem Timeout kommt und gibt die Meldung im Log aus
  • Der einzige Fehler ist also die Meldung im Log - ansonsten funktioniert alles

Hm missverständlich ausgedrückt.

Das der Adapter der das sendTo Ziel ist, nicht innerhalb von 5 Sekunden reagiert hat.