Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Themen 49.1k Beiträge

NEWS

  • basic-ftp - kopieren/verschieben dir synology

    javascript
    4
    0 Stimmen
    4 Beiträge
    257 Aufrufe
    bahnuhrB
    @asgothian Danke nochmal für die Anregung. Hätte ich auch selber drauf kommen können ;-) Habe auch schon mehrfach mit ssh2 gearbeitet. Und nun auch so gelöst. mfg Dieter
  • [gelöst] Fehler bei Verwendung des 'net' Modules

    5
    0 Stimmen
    5 Beiträge
    362 Aufrufe
    P
    @oliverio Vielen Dank für Deine Erklärung. Jetzt funktionieren beide Versionen des Scripts! Vielen Dank.
  • Datums-Format YYYYMMDD

    15
    0 Stimmen
    15 Beiträge
    939 Aufrufe
    T
    @mickym hat funktioniert, super vielen Dank an Euch Allen. Wünsch Euch einen schönen Abend. [image: 1741638871424-67abdc67-1568-419c-8942-df8f336421d0-image.png]
  • [Frage] javascript-code zum Auslesen von Ertragswerten

    javascript template
    21
    0 Stimmen
    21 Beiträge
    2k Aufrufe
    N
    @asgothian Habe es doch gerade ausprobiert. Gibt aber eine Fehlermeldung: javascript.0 19:32:52.547 info Stopping script script.js.smarthome_trost.neu_history_influxdb javascript.0 19:32:52.592 info Start JavaScript script.js.smarthome_trost.neu_history_influxdb (Javascript/js) javascript.0 19:32:52.595 info script.js.smarthome_trost.neu_history_influxdb: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 19:32:52.597 info script.js.smarthome_trost.neu_history_influxdb: Starting "energy-stats" logging to http://localhost:8086 into bucket "iobrokerdata" by org Trost javascript.0 19:32:52.598 error script.js.smarthome_trost.neu_history_influxdb: ReferenceError: loggingTemplate is not defined javascript.0 19:32:52.598 error at start (script.js.smarthome_trost.neu_history_influxdb:53:45) Kann man das reparieren?
  • Verbindung mit neuer Ecoflow Api

    17
    1 Stimmen
    17 Beiträge
    2k Aufrufe
    R
    @haus-automatisierung Eventuell hilft Dir das Beispiel von mir ja schon weiter Die Verbindung klappt sehr gut, alle Devices wurden in den Objektbaum eingetragen. Vielen Dank. Leider komme ich aber nicht weiter, wie die Werte aus der Powerstream ermittelt werden: pv1InputWatts pv2InputWatts pvToInvWatts permanentWatts Für weitere Hilfen bin ich daher sehr dankbar. Gruß Ralf Für eine
  • Adapter history.0 auswerten für 16 Datenpunkte und 12 Monate

    62
    0 Stimmen
    62 Beiträge
    7k Aufrufe
    L
    @paul53 Ich habe einen eingegrenzt und gefunden: [image: 1741475257828-fehler-in-den-daten.png] Ein Timestamp des DP war weder True noch False :astonished: In 12 betrachteten Monaten ist das 2 mal vorgekommen. Finale Version: [image: 1741478426540-09.03.script-final.png] var ed, obj, result, lastValue, onTime, i, value, ts; getHistory({ id: 'ID auswählen', start: getDateObject('2025-09-01 00:00').getTime(), end: getDateObject('2024-03-01 00:00').getTime(), aggregate: 'none', removeBorderValues: true, }, async (err, result) => { if (err) { console.error(err); } else { ed = 0; if (result.length > 0) { ((obj) => { if (typeof obj === 'object') { obj['val'] = false; } })((result.slice(-1)[0])); obj = result[0]; lastValue = getAttr(obj, 'val'); if (lastValue) { onTime = getAttr(obj, 'ts'); } var i_end = result.length; var i_inc = 1; if (2 > i_end) { i_inc = -i_inc; } for (i = 2; i_inc >= 0 ? i <= i_end : i >= i_end; i += i_inc) { obj = result[(i - 1)]; value = getAttr(obj, 'val'); ts = getAttr(obj, 'ts'); if ((typeof value == 'boolean') && (typeof ts == 'number') && (value != lastValue)) { lastValue = value; if (value) { onTime = ts; } else { ed = (typeof ed === 'number' ? ed : 0) + (ts - onTime); } } } } console.info((Math.round(ed / 360000) / 10)); } }); Für größere Zeiträume muss der Parameter limit von getHistory vergrößert werden. Im Standard liest getHistory 2000 Timestamps für den Datenpunkt ein. Die Erweiterung des Limits ist nicht im Skript darüber enthalten, sondern wurde im Objekt von getHistory eingetragen. Das Skript funktioniert nun einwandfrei! Ich möchte mich bei allen Herzlich bedanken für den Support! Insbesondere bei @paul53 und @David-G :heart:
  • onMessage aktuell auch ohne result async möglich?

    7
    0 Stimmen
    7 Beiträge
    365 Aufrufe
    haus-automatisierungH
    @ben1983 Kannst auch null setzen
  • Funktion mit unterschiedlicher Anzahl an paramtern

    13
    1
    0 Stimmen
    13 Beiträge
    572 Aufrufe
    Ben1983B
    @haus-automatisierung OK, danke. Nur folgendes: Wenn ich Bspw. so eine Funktion deklariere: const SendTelegram = { /** * @param Message message to send * @param Options Username, Visulog, SendInstanz */ alles: function (Message,Options){ ....... //code } } Die liegt in einem Globalen Skript, ist also überall verfügbar. Wenn ich sie innerhalb des Skripts aufrufe, dann wird mir das angezeigt: [image: 1740994454886-3a62fcb8-1ebd-4e11-95a4-e1c30c394e2b-image.png] in einem nicht globalen Skript, allerdings: [image: 1740994498201-f6aecbff-3a56-47af-8e40-b4bb143be1ed-image.png] Ich weiß nun, was die options sind, aber warum wird das nicht angezeigt? EDIT: !!!! Es geht doch.... nachdem die Fenster einmal geschlossen waren und wieder geöffnet wurde, wird es angezeigt. OK, ich gebs aus... fenster erneut geschlossen und geöffnet und es wird schon wieder nicht angezeigt
  • Wann ist ein nach der Erzeugung dp verfügbar?

    16
    0 Stimmen
    16 Beiträge
    824 Aufrufe
    mcm1957M
    @ben1983 OK - Für Javascript im Javascript Adapter gelten tw. andere Regeln. Wenn Unetrscheide allerdings eher verwirrend sind und aufwärtskompatibel anpassbar scheinen dann macht es ev. durchaus Sinn ein Issue zu erstellen. Bluefox migriert den Javascritp adapter meines Wissens nach z,Z zu Typescript. Da kann man ggF kompatible (!) Anpassungen durchaus vornehmen. Aber das müssen die Maintainer entscheiden.
  • [gelöst] History per script auslesen: Wie warten auf Daten?

    10
    0 Stimmen
    10 Beiträge
    891 Aufrufe
    D
    @ticaki Super. Das scheint zu funktionieren. Besten dank!
  • [gelöst] Einlesen eines Arrays in Javascript klappt nicht

    34
    0 Stimmen
    34 Beiträge
    3k Aufrufe
    T
    @ben1983 ich kannte \z nicht mal. Hab Chatgpt gefragt ohne Javascript zu erwähnen und der meint dazu [image: 1740782213318-bildschirmfoto-2025-02-28-um-23.36.48.png]
  • Wert einer URL auf eine URL von Shelly schreiben

    1
    0 Stimmen
    1 Beiträge
    179 Aufrufe
    Niemand hat geantwortet
  • Scrypt schaltet in Software aber nicht Physisch

    4
    0 Stimmen
    4 Beiträge
    359 Aufrufe
    P
    @geschild Oh ja Danke das funktioniert.
  • PAJ GPS abfragen

    127
    0 Stimmen
    127 Beiträge
    17k Aufrufe
    D
    @negalein gerne.. der Support ist äußerst Infomationsfreudig
  • controller.js frist Ram und javascript.X bei >90%

    14
    1
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    CodierknechtC
    @tasuanetrukiat sagte in controller.js frist Ram und javascript.X bei >90%: da ich das mit den Blockly Skripten noch nicht vollständig verstanden habe Lesestoff: https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps Ganz wichtig: "Trigger in Trigger" - nicht machen, niemals, never ever!
  • [Skript] Atlantic Wärmepumpe über Cozytouch abfragen

    107
    3 Stimmen
    107 Beiträge
    22k Aufrufe
    Samson71S
    @ricki-1337 sagte in [Skript] Atlantic Wärmepumpe über Cozytouch abfragen: genannten Platine in HA einbinden. Falsches Forum? Wir sind hier bei ioBroker, nicht bei HA. Du solltest Dich mit der Fragestellung an das HA-Forum wenden und/oder ggf. auf GitHub nachfragen.
  • zig gleiche Einträge in JS-Protokollanzeige

    18
    3
    0 Stimmen
    18 Beiträge
    1k Aufrufe
    OliverIOO
    @ticaki ja, hab gerade ausprobiert. dann ist das relativ neu. das war früher nicht so. da gab es immer wieder fälle, das sich das aufmultipliziert hat
  • HttpGet Balkonkraftwerk => Nachts Errors in Protokoll

    14
    1
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    O
    @fichtenmoped82 , bei einer ähnlichen Fragestellung habe ich den Radar Adapter zu Hilfe genommen. Damit können Geräte (der WR in Deinem Fall) auf Anwesenheit überwacht werden. Dann kannst Du die HTTP Abfrage gegen den WR nur ausführen, wenn Radar für den WR ein „true“ in den zugehörigen DP schreibt. In etwa so, wie @MartinP weiter oben schreibt, nur ohne Ping. Spart neben den Log Einträgen auch noch Rechenleistung -;) Gruß
  • Cannot redeclare block-scoped variable

    36
    0 Stimmen
    36 Beiträge
    4k Aufrufe
    H
    @oliverio hast Recht. Hätte gleich ein paar Hardcopys machen sollen.
  • [gelöst] Bug in Javascript?

    17
    1
    0 Stimmen
    17 Beiträge
    1k Aufrufe
    I
    @haus-automatisierung Nein, der Adapter kann nichts dafür, der DP ist string. Ich hab den mal gelöscht und beim wiedererstellen hab ich das offenbar nicht wieder auf bool geändert.

504

Online

32.7k

Benutzer

82.5k

Themen

1.3m

Beiträge