Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Themen 48.9k Beiträge

NEWS

  • ERR_REQUIRE_ESM digest-fetch Fehler

    8
    0 Stimmen
    8 Beiträge
    996 Aufrufe
    H
    Bei mir haben die Tipps oben leider nicht geholfen bzw. hatte ich diese falsch verstanden... So sah es bei mir zu Beginn aus: cd /opt/iobroker/ npm ls digest-fetch iobroker.inst |-iobroker.javascript |-digest-fetch@3.x.x Die Version 3 ist nur noch in ESM möglich, dazu müsste man die Skripte anpassen. Wir löschen jetzt die V3: cd /opt/iobroker/node_modules/iobroker.javascript/ npm uninstall digest fetch Im javascript adapter löschen wir das digest-fetch raus und schreiben digest-fetch@v2 rein: [image: 1690418465942-40aa0321-5481-4857-b6b4-6cb6a39977ae-image.png] Adapter neu starten und in der Konsole die Version prüfen: npm ls digest-fetch iobroker.inst |-iobroker.javascript |-digest-fetch@2.0.3 ggf. muss man das auch mit node-fetch machen.
  • Air-Q JSON - unbekannte Objekte

    4
    0 Stimmen
    4 Beiträge
    531 Aufrufe
    air-QA
    @Omnedon Hallo, entschuldige die etwas sehr späte Antwort. Die cnt-Werte geben die Gesamtanzahl der Feinstaubpartikel größer als 0,3 µm, 0,5 µm, 1 µm, 2,5 µm, 5 µm und 10 µm in einem Volumen von 100 ml bzw. 0,0001 m³ an und TypPS gibt die durchschnittliche Größe des Feiunstaubs an. dCO2dt und dHdt geben die Änderungsrate der CO2-Konzentration bzw. der Luftfeuchtigkeit in ppb/s bzw. mg/m3/s an.
  • Frage zu type: 'folder' und createState() + setObject()

    7
    0 Stimmen
    7 Beiträge
    759 Aufrufe
    T
    @paul53 ergänzt // id muß ein gültiger String sein und mit 0_userdata.0, alias.0 oder mqtt anfangen, alles weitere is optional async function createFolderAsync(id, name='', desc='') { return Promise.resolve(await _createObject(id, 'folder', name, desc)) } async function createChannelAsync(id, name='', desc='') { return Promise.resolve(await _createObject(id, 'channel', name, desc)) } async function createDeviceAsync(id, name='', desc='') { return Promise.resolve(await _createObject(id, 'device', name, desc)) } async function _createObject(id, typ, name='', desc='') { try { if(existsObject(id)) log('Objekt: ' + id + ' existiert bereits!', 'warn'); else { const obj = { type: typ, common: { name: name, desc: desc }, native: {} } if (!id || typeof id !== 'string') { throw new Error('Fehler in _createObject Parameter 1 ist kein string') } if (!(id.startsWith('alias.0') || id.startsWith('0_userdata.0') || id.startsWith('mqtt'))) { throw new Error('Fehler in _createObject Parameter 1: ' + id.split('.').slice(0,2).join('.') + ' nicht erlaubt') } await setObjectAsync(id, obj); } return Promise.resolve(true); } catch (error) { log(error + '!', 'error') } return Promise.resolve(false); }
  • Raspi GPIO wird gesetzt, wie Ursache herausfinden?

    Verschoben
    65
    0 Stimmen
    65 Beiträge
    6k Aufrufe
    L
    @paul53 Hatte eigenartigerweise nicht genügt. Auch kompletter Neustart des Raspi nicht. Erst mit der Umbenennerei ging es.
  • Dieses Thema wurde gelöscht!

    0
    0 Stimmen
    0 Beiträge
    2 Aufrufe
    Niemand hat geantwortet
  • [gelöst] Skriptfehler nach iobroker Update

    18
    0 Stimmen
    18 Beiträge
    1k Aufrufe
    M
    @arteck ja du hast absolut recht...ich habe den Namen kopiert und nicht die ID...der Name der ID ist dann km200:XXX, die ID ist dann richtigerweise ems-esp.0.XXX...
  • [erledigt]Frage zu TypeError: Converting circular

    1
    0 Stimmen
    1 Beiträge
    161 Aufrufe
    Niemand hat geantwortet
  • java in blockly

    blockly
    3
    0 Stimmen
    3 Beiträge
    385 Aufrufe
    D
    @homoran Hallo, Ahhhhhhhhh...... darauf bin ich nicht gekommen :( Hab es damit hin bekommen, D A N K E !!! mfg Digi-Bit
  • Accesspoint per SSH auslesen

    21
    0 Stimmen
    21 Beiträge
    2k Aufrufe
    OliverIOO
    @deachte ich würde nun nicht gerade eine bibliothek nehmen, bei der der autor selber schon sagt, das er nicht mehr dran arbeitet. daher kannst da auch nicht so richtig nachfragen besser wäre https://www.npmjs.com/package/ssh2 mit fast 2 mio downloads wöchentlich wenn ich nach deiner fehlermeldung suche, dann finde ich https://github.com/mscdex/ssh2/issues/427 da simple-ssh ebenfalls auf ssh2 aufsetzt, könnte das eine lösung sein hier im forum gibt es allerdings auch wohl funktionierende skripts mit simple-ssh und, so wie schon angemerkt, die skripts und befehle werden unter iobroker als benutzer iobroker ausgeführt. wenn du nun auf der sudo -u iobroker bash eingibst, kannst du dann dein putty befehl nochmal ausprobieren. dann siehst du ob da etwas anders ist
  • [gelöst] Wert nur schreiben, wenn sich dieser geändert hat

    13
    0 Stimmen
    13 Beiträge
    723 Aufrufe
    T
    @paul53 sagte in [gelöst] Wert nur schreiben, wenn sich dieser geändert hat: @ticaki sagte: gibt dieses Ergebnis: Die Verwendung von Variablen ist immer effizienter als der Aufruf einer komplexen Funktion. Das ist klar, aber 5 mal effizienter ist dann doch ne Ansage. :) wobei es zwischen 2 mal schneller und 12 mal schneller schwankt. Bei 10000 Durchläufen ist es Faktor 7
  • Bitte Programmierhilfe

    64
    0 Stimmen
    64 Beiträge
    7k Aufrufe
    paul53P
    @skorpil sagte: Was bedeutet .ts Das ist der Zeitstempel (timestamp). Darüber wird ermittelt, was zuletzt gesendet wurde: Ein oder Aus.
  • Script Problems javascript Instanz

    21
    0 Stimmen
    21 Beiträge
    597 Aufrufe
    paul53P
    @ticaki sagte: Würde aber zu einer Empfehlung in der Doku raten. PR auf Github ist erstellt.
  • sendToAsync lässt Javascript Instanz anhalten

    5
    0 Stimmen
    5 Beiträge
    347 Aufrufe
    T
    @haus-automatisierung Oh doch, muß aber gestehen dass das ca. 1.5 Jahre her ist. Ihr habt recht, es war setStateAsync() und den "Fehler" hab ich gerade reproduziert. Hat die Instanz angehalten. :) Hab mich falsch erinnert sry.
  • Frage zu common.alias.read

    3
    0 Stimmen
    3 Beiträge
    266 Aufrufe
    T
    @paul53 Danke dann überlege ich mir was anderes :)
  • Wo ist der Fehler?

    19
    0 Stimmen
    19 Beiträge
    1k Aufrufe
    S
    @paul53 ich verstehe
  • Frage zu history adapter

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    589 Aufrufe
    T
    @paul53 Läuft jetzt. Mir war aufgefallen, dass die "end" deklarierung noch außerhalb vom timer lag. Da kam dann natürlich über Laufzeit nichts sinnvolles bei rum. Mit diesem Code läuft es jetzt... var Liste = Array(16).fill(0), i; schedule("* * * * *", async () => { var end = Date.now(); sendTo('history.0', 'getHistory', { id: 'modbus.0.inputRegisters.30775_Wirkleistung_Gesamt', options: { start: end - 60000, end: end, aggregate: 'average', count: 1, ignoreNull: 0 } }, function (data) { Liste = getState('javascript.0.AWTRIX.BAR_PV').val; Liste.shift(); Liste.push(data.result[1].val); setState('javascript.0.AWTRIX.BAR_PV', Liste); }); }); Nochmals vielen Dank für den Support. Ohne dich hätte ich es nicht gelöst!
  • Summe auf zwei Nachkommazeichen begrenzen

    5
    0 Stimmen
    5 Beiträge
    417 Aufrufe
    M
    Dankeschön euch beiden :+1:
  • Änderungszeit von einem Objekt

    6
    0 Stimmen
    6 Beiträge
    416 Aufrufe
    S
    @cash herzlichen Dank für die Info. Interessantes Konzept. Ich nutze z.Zt. hm_pdetect auf der CCU zur Anwesenheitserkennung. pdetect Dieser Dienst reagiert auf die An- und Abmeldung im wlan der FRITZ!Box. Das funktioniert gut und ist kostenfrei. Die Koppelung mit einem BewMldr, um dann das Garagentor zu öffnen, ist eine geniale Idee. Daran muss ich mich auch versuchen. ;-)
  • Javascript Adapter V7

    4
    0 Stimmen
    4 Beiträge
    348 Aufrufe
    paul53P
    @cash sagte: JSONata ist eine leistungsstarke Daten-Transformations-Sprache ..., in die man sich erst einmal einarbeiten muss, um sie nutzen zu können.
  • Datenpunkt vom Typ Array States löschen

    11
    0 Stimmen
    11 Beiträge
    685 Aufrufe
    R
    Hallo @paul53 es funktioniert :+1: Nochmals vielen Dank für Deine Unterstützung.

322

Online

32.6k

Benutzer

82.2k

Themen

1.3m

Beiträge