Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Themen 48.8k Beiträge

NEWS

  • Kamera Statusauswertung und Meldung an Homematic

    16
    0 Stimmen
    16 Beiträge
    421 Aufrufe
    M
    @homoran ja das passt, danke ab dem 2. Element gibt es immer 3 führende Leerzeichen
  • [gelöst] OnLog liefert kein Wert

    9
    0 Stimmen
    9 Beiträge
    302 Aufrufe
    T
    @paul53 sagte in OnLog liefert kein Wert: @tt-tom sagte: In der Doku steht aber nur was von '*' ist disabeld In der Doku steht auch Important: you cannot output logs in handler with the same severity to avoid infinite loops. So funktioniert es: log(data.from, 'warn'); Okay, es funktioniert. ja wenn mann die Doku nicht komplett liest oder nur überfliegt.:confused:
  • [gelöst] delete und setObject führt zu keinem Ergebnis

    2
    0 Stimmen
    2 Beiträge
    126 Aufrufe
    Ben1983B
    @ben1983 Habe es heraus bekommen. Man muss hier den Wert zu null setzen, dann wird er gelöscht. const selectorLorawan = $(`state[id=lorawan.1.bbea74d6-1fc5-4238-af20-d2aecdbb4f8e.devices.70b3d52dd302759e.uplink.decoded.targetTemperatureFloat]`); const CustomInstanz = 'lorawan.1'; // Schedules beim Skriptstart erzeugen: selectorLorawan.each((id,i)=>{ deleteCommonCustom(id); }); function deleteCommonCustom(id) { const obj = getObject(id); obj.common.custom[CustomInstanz] = null; setObject(id,obj); }
  • Const richtig bei timestamp (toTimeString)

    18
    1
    0 Stimmen
    18 Beiträge
    856 Aufrufe
    T
    @oliverio ich glaube das Problem wird sein, das er die Tabelle nur erweitert. Um gestern, heute einzufügen, muss die Tabelle im Anschluß komplett überarbeitet werden. Sprich jedes Datum gegen das aktuelle geprüft werden.
  • Javascript für Zendure Hyper Steuerung

    5
    1
    0 Stimmen
    5 Beiträge
    381 Aufrufe
    L
    @intruder7 Du musst alles was mit const hyper2 = { name: 'Hyper2', inputLimitDP: 'zendure-solarflow.0.xxxxxx.yyyyyyyy.control.setInputLimit', inputDP: 'zendure-solarflow.0.xxxxxx.yyyyyyyy.gridInputPower', outputLimitDP: 'zendure-solarflow.0.xxxxxx.yyyyyyyy.control.setOutputLimit', outputDP: 'zendure-solarflow.0.xxxxxx.yyyyyyyy.outputHomePower', acModeDP: 'zendure-solarflow.0.xxxxxx.yyyyyyyy.control.acMode', pvLeistungDP: 'zendure-solarflow.0.xxxxxx.yyyyyyyy.solarInputPower', socDP: 'zendure-solarflow.0.xxxxxx.yyyyyyyy.electricLevel', }; zu tun hat rausschmeißen
  • Fritz!Box Daten auslesen, Gerätetraffic und Filter setzen

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    202 Aufrufe
    Niemand hat geantwortet
  • Objekte dynamisch per typescript zu vis-View hinzufügen?

    1
    0 Stimmen
    1 Beiträge
    79 Aufrufe
    Niemand hat geantwortet
  • iobroker-typen einbinden für typescript

    14
    0 Stimmen
    14 Beiträge
    580 Aufrufe
    I
    @ticaki Ok, ich versuchs mal mit damit. Muss das erst mal durchschauen.
  • mqtt JSON in Datenpunkt schreiben

    6
    1
    0 Stimmen
    6 Beiträge
    268 Aufrufe
    F
    @paul53 Ich danke dir Paul ;-)
  • ABRP API

    7
    0 Stimmen
    7 Beiträge
    878 Aufrufe
    H
    @matis Nein, aber das Blockly oben läuft seit dem Post oben ohne Probleme durch.
  • Script im VIS Reiter „Skript“ anlegen

    2
    0 Stimmen
    2 Beiträge
    195 Aufrufe
    M
    @exmatador Geht nur bis V1.6.0 [image: 1755550749577-1e93a2f2-1631-4d5a-81c1-cf0975cf86e7-image.png] <div id="threejs" style="width:600px; height: 400px"></div> Skripte-Reiter (function loadThree(url, onload){ var s = document.createElement('script'); s.src = url; s.onload = onload; s.onerror = e => console.error('THREE laden fehlgeschlagen:', e); document.head.appendChild(s); })( 'https://cdn.jsdelivr.net/npm/three@0.160.0/build/three.min.js', // UMD-Build function init(){ console.log('THREE geladen:', typeof THREE); // sollte "object" loggen setTimeout(function(){ const container = document.getElementById('threejs'); if (!container) { console.error('Container #threejs fehlt!'); return; } const w = container.clientWidth, h = container.clientHeight; const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75, w/h, 0.1, 1000); const renderer = new THREE.WebGLRenderer({ antialias:true }); renderer.setSize(w, h); container.appendChild(renderer.domElement); const cube = new THREE.Mesh( new THREE.BoxGeometry(), new THREE.MeshBasicMaterial({ color: 0x00ff00 }) ); scene.add(cube); camera.position.z = 5; (function animate(){ requestAnimationFrame(animate); cube.rotation.x += 0.01; cube.rotation.y += 0.01; renderer.render(scene, camera); })(); },300) } ); [image: 1755550806700-800fc1f6-a07b-4e38-8f2d-33c6ad527942-image.png] Hinweis: In neueren Three-Versionen liefern CDNs oft nur ESM (three.module.js), was in VIS nicht läuft (Unexpected token export).
  • [gelöst] Selector hat nicht alle aktuellen States

    1
    0 Stimmen
    1 Beiträge
    127 Aufrufe
    Niemand hat geantwortet
  • Node.js Script in iobroker integrieren

    40
    0 Stimmen
    40 Beiträge
    8k Aufrufe
    L
    @oliverio OK ich habe mal mit Hilfe von ChatGPT die Codezeile abgeändert .then((text) => { const deviceDetails = text .trim() .split('\n') .reduce((obj, str) => { const [key, val] = str.split('='); if (key && typeof val !== 'undefined') { obj[key] = val.trim(); } return obj; }, {}); return deviceDetails; }); Jetzt läuft es. Vielen Dank
  • [Skript] Absolute Feuchte berechnen

    Verschoben
    740
    1
    2 Stimmen
    740 Beiträge
    233k Aufrufe
    paul53P
    @hobbit sagte: Vielen Dank für dieses tolle Script. Ich habe es in der letzten Version 0.6.8 im Einsatz Das Skript ist von @Solear und die Version 0.6.8 ist von @boriswerner.
  • Wireguard Server abfragen -> Client Infos

    25
    0 Stimmen
    25 Beiträge
    2k Aufrufe
    NegaleinN
    @kuddel sagte in Wireguard Server abfragen -> Client Infos: Sollte ohne Anpassungen laufen. Danke Es läuft, mir wird in 0_userdata.0.wireguard-clients.Wireguard-JSON-History der Client gezeigt, der nach Scriptstart verbunden wurde. [image: 1753564121212-f6a3c312-e55b-4f6f-b9d4-4e15b7678df9-image.png] Aber 0_userdata.0.wireguard-clients.Wireguard-JSON bleibt leer. [image: 1753563870350-20930bb2-0aba-4331-8cf4-ce546cceba30-image-resized.png] Log vom Script 26.7.2025, 22:59:03.091 [info ]: javascript.1 (632) script.js.Netzwerk.Wireguard-Tabelle: Stopping script 26.7.2025, 22:59:03.098 [info ]: javascript.0 (606) script.js.Netzwerk.Wireguard-Tabelle: Stopping script 26.7.2025, 22:59:29.994 [info ]: javascript.0 (606) script.js.Netzwerk.Wireguard-Tabelle: start JavaScript (Javascript/js) 26.7.2025, 22:59:30.016 [info ]: javascript.0 (606) script.js.Netzwerk.Wireguard-Tabelle: registered 56 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 26.7.2025, 23:01:24.263 [warn ]: javascript.0 (606) at Object.wireguard_history (script.js.Netzwerk.Wireguard-Tabelle:136:22) 26.7.2025, 23:01:24.263 [warn ]: javascript.0 (606) at Object.wireguard_history (script.js.Netzwerk.Wireguard-Tabelle:144:20) 26.7.2025, 23:01:24.264 [error]: javascript.0 (606) script.js.Netzwerk.Wireguard-Tabelle: Error: TypeError: Cannot read properties of null (reading 'split') 26.7.2025, 23:01:24.264 [error]: javascript.0 (606) script.js.Netzwerk.Wireguard-Tabelle: at Object.wireguard_history (script.js.Netzwerk.Wireguard-Tabelle:144:57)
  • Fehlermeldung beim Schreiben von Daten in influxdb2

    5
    0 Stimmen
    5 Beiträge
    364 Aufrufe
    S
    @homoran said in Fehlermeldung beim Schreiben von Daten in influxdb2: schreibst du direkt in die DB? warum nicht in einen DP, der vom Adapter geloggt wird? Ich habe das Programm grundsätzlich von @haus-automatisierung übernommen und mit den Bezeichnungen für meine Datenpunkte angepasst (hoffentlich richtig). Wenn ich es richtig verstanden habe, ist der Zweck, dass die Daten dann einen identischen Zeitstempel haben. Ich schau mal, wie ich den Tieout erhöhen kann. Ich würde gerne mal testen, was bei einem einzelnen Schreibbefehl passiert. Wie müsste das Script dafür in Blockly aussehen? Erhalte ich dann eine Antwort/Bestätigung von influxdb?
  • LUPUSEC Alarmanlage einbinden

    Verschoben javascript
    204
    0 Stimmen
    204 Beiträge
    53k Aufrufe
    Captain-pattyC
    @stuebi hast du noch eine Idee?
  • javascript-Adapter bindet console.log nicht ein bei require

    javascript
    13
    0 Stimmen
    13 Beiträge
    593 Aufrufe
    OliverIOO
    @axel21 Gut, workaround ist da, ich werde bei Gelegenheit selber mal experimentieren.
  • [gelöst] Problem: Abruf von Strompreisen mit JS und Axios

    16
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    fuzzy1955F
    @johgre sagte in [gelöst] Problem: Abruf von Strompreisen mit JS und Axios: Das iteriert jetzt durch das ResponseArray und schreibt alle Werte mal raus. Danke nochmals! Das ResponseArray läuft super! Genau das brauchte ich :blush:
  • setStateAsync in externem js-file evtl mit require??

    javascript
    7
    0 Stimmen
    7 Beiträge
    389 Aufrufe
    OliverIOO
    @axel21 ja scopes ist schon ein Thema, was man erst nach einer weile versteht. Wer kennt schon den Unterschied zwischen var und let oder einer normalen Function oder einer Arrow Function ()-> Hier gute quellen zur Erklärung. https://javascript.info/variables https://javascript.info/closure sowie 2.15-2.17 + 6.6,6.7,6.10,6.11

344

Online

32.6k

Benutzer

82.1k

Themen

1.3m

Beiträge