Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Topics 49.1k Posts

NEWS

  • [Vorlage] Generisches Fensteroffenskript + Vis

    Moved javascript template monitoring
    768
    1
    13 Votes
    768 Posts
    231k Views
    crunchipC
    @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis: @crunchip kann hier vllt jemand Hilfestellung geben zum Beitrag https://forum.iobroker.net/post/1186197 das Script dazu siehe https://github.com/Pittini/iobroker-Fensterauswertung/blob/master/Fensterauswertung.js ich hole das Thema nochmals vor gibt es jemanden der ebenfalls damit Probleme hat? Edit die Fehlermeldung ist ursprünglich wie im Link, jedoch hab ich mittlerweile alle Datenpunkte, welche vom script angelegt wurden gelöscht, alle Türen - und Fensterkontakte nochmals geprüft. identische Fehlermeldung die durchs löschen der Datenpunkte nun erscheinen, dabei ist es egal ob alle Kontakte Raum und Funktion zugeordnet sind, oder auch nur ein einziger, oder auch gar keine Kontakte angelegt sind javascript.0 16:34:42.972 info Stopping script script.js.Benachrichtigung.FensterTür-Status javascript.0 16:34:43.075 info Start JavaScript script.js.Benachrichtigung.FensterTür-Status (Javascript/js) javascript.0 16:34:43.081 info starting Fensterskript, Version 1.6.15 javascript.0 16:34:43.081 info registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 16:34:43.083 warn at init (script.js.Benachrichtigung.FensterTür-Status:326:26) javascript.0 16:34:43.083 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 16:34:43.084 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 16:34:43.084 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 16:34:43.084 warn at init (script.js.Benachrichtigung.FensterTür-Status:327:35) javascript.0 16:34:43.084 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 16:34:43.084 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 16:34:43.084 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 16:34:43.084 warn at init (script.js.Benachrichtigung.FensterTür-Status:328:37) javascript.0 16:34:43.084 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 16:34:43.084 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 16:34:43.084 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 16:34:43.084 warn at init (script.js.Benachrichtigung.FensterTür-Status:329:32) javascript.0 16:34:43.084 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 16:34:43.084 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 16:34:43.084 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 16:34:43.084 warn at init (script.js.Benachrichtigung.FensterTür-Status:330:30) javascript.0 16:34:43.085 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 16:34:43.085 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 16:34:43.085 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 16:34:43.085 warn at init (script.js.Benachrichtigung.FensterTür-Status:342:27) javascript.0 16:34:43.085 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 16:34:43.085 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 16:34:43.085 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 16:34:43.085 error at CreateRoomsWithOpenDoorsList (script.js.Benachrichtigung.FensterTür-Status:867:45) javascript.0 16:34:43.086 error at main (script.js.Benachrichtigung.FensterTür-Status:352:5) javascript.0 16:34:43.086 error at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 16:34:43.086 error at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) Ausgabe im Log javascript.0 2025-04-23 16:34:43.086 error at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2987:34) javascript.0 2025-04-23 16:34:43.086 error at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 2025-04-23 16:34:43.086 error at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 2025-04-23 16:34:43.086 error at main (script.js.Benachrichtigung.FensterTür-Status:352:5) javascript.0 2025-04-23 16:34:43.085 error at CreateRoomsWithOpenDoorsList (script.js.Benachrichtigung.FensterTür-Status:867:45) javascript.0 2025-04-23 16:34:43.085 error Error in callback: TypeError: Cannot set properties of undefined (setting '1') javascript.0 2025-04-23 16:34:43.085 warn at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2987:34) javascript.0 2025-04-23 16:34:43.085 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 2025-04-23 16:34:43.085 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 2025-04-23 16:34:43.085 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 2025-04-23 16:34:43.085 warn at init (script.js.Benachrichtigung.FensterTür-Status:342:27) javascript.0 2025-04-23 16:34:43.085 warn getState "javascript.0.Benachrichtigung.FensterTuerUeberwachung..VentWarnTime" not found (3) javascript.0 2025-04-23 16:34:43.085 warn at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2987:34) javascript.0 2025-04-23 16:34:43.085 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 2025-04-23 16:34:43.085 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 2025-04-23 16:34:43.085 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 2025-04-23 16:34:43.084 warn at init (script.js.Benachrichtigung.FensterTür-Status:330:30) javascript.0 2025-04-23 16:34:43.084 warn getState "javascript.0.Benachrichtigung.FensterTuerUeberwachung..SendDoorWarnMsg" not found (3) javascript.0 2025-04-23 16:34:43.084 warn at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2987:34) javascript.0 2025-04-23 16:34:43.084 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 2025-04-23 16:34:43.084 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 2025-04-23 16:34:43.084 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 2025-04-23 16:34:43.084 warn at init (script.js.Benachrichtigung.FensterTür-Status:329:32) javascript.0 2025-04-23 16:34:43.084 warn getState "javascript.0.Benachrichtigung.FensterTuerUeberwachung..SendWindowWarnMsg" not found (3) javascript.0 2025-04-23 16:34:43.084 warn at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2987:34) javascript.0 2025-04-23 16:34:43.084 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 2025-04-23 16:34:43.084 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 2025-04-23 16:34:43.084 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 2025-04-23 16:34:43.084 warn at init (script.js.Benachrichtigung.FensterTür-Status:328:37) javascript.0 2025-04-23 16:34:43.084 warn getState "javascript.0.Benachrichtigung.FensterTuerUeberwachung..SendWindowOpenCloseMsg" not found (3) javascript.0 2025-04-23 16:34:43.084 warn at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2987:34) javascript.0 2025-04-23 16:34:43.084 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 2025-04-23 16:34:43.084 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 2025-04-23 16:34:43.084 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 2025-04-23 16:34:43.084 warn at init (script.js.Benachrichtigung.FensterTür-Status:327:35) javascript.0 2025-04-23 16:34:43.084 warn getState "javascript.0.Benachrichtigung.FensterTuerUeberwachung..SendDoorOpenCloseMsg" not found (3) javascript.0 2025-04-23 16:34:43.084 warn at createState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2987:34) javascript.0 2025-04-23 16:34:43.084 warn at Object.<anonymous> (script.js.Benachrichtigung.FensterTür-Status:279:13) javascript.0 2025-04-23 16:34:43.084 warn at InitialSort (script.js.Benachrichtigung.FensterTür-Status:315:5) javascript.0 2025-04-23 16:34:43.083 warn at main (script.js.Benachrichtigung.FensterTür-Status:350:5) javascript.0 2025-04-23 16:34:43.083 warn at init (script.js.Benachrichtigung.FensterTür-Status:326:26) javascript.0 2025-04-23 16:34:43.083 warn getState "javascript.0.Benachrichtigung.FensterTuerUeberwachung..SendVentMsg" not found (3) javascript.0 2025-04-23 16:34:43.081 info script.js.Benachrichtigung.FensterTür-Status: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2025-04-23 16:34:43.081 info script.js.Benachrichtigung.FensterTür-Status: starting Fensterskript, Version 1.6.15 javascript.0 2025-04-23 16:34:43.075 info Start JavaScript script.js.Benachrichtigung.FensterTür-Status (Javascript/js) javascript.0 2025-04-23 16:34:42.972 info Stopping script script.js.Benachrichtigung.FensterTür-Status
  • Textvariablen mit & - wie trennen?

    29
    0 Votes
    29 Posts
    3k Views
    T
    @fastfoot Schön dass das Ratespielchen mal ein Ende hat. Du willst also sagen mein Vorschlag ein Zeichen unterschlägt, wo deine Lösung sich einfach aufhängt. Muss dir sagen, dass mich dein bla bla ärgert - thema und du erledigt.
  • Bildversand der Kamera per Pushover sehr unzuverlässig.

    11
    0 Votes
    11 Posts
    828 Views
    A
    @wendy2702 Ok, dann bleibt es wohl so... :-) Danke nochmals für eure Unterstützung :+1:
  • FF-Einsätze OÖ auswerten

    115
    0 Votes
    115 Posts
    13k Views
    OliverIOO
    @negalein sagte in FF-Einsätze OÖ auswerten: probier mal folgendes. ich habe das einfach nur mal nach chat gpt reingeworfen und als ergebnis kam folgendes heraus es wird dann die lautstärke genau auf diese eine bedingung auf 10 gesetzt function sendAlexa(text, lautstaerke) { // Aktuelles Datum und Uhrzeit ermitteln const jetzt = new Date(); const wochentag = jetzt.getDay(); // 0 = Sonntag, 1 = Montag, ..., 6 = Samstag const stunde = jetzt.getHours(); const minute = jetzt.getMinutes(); // Überprüfen, ob es Dienstag (wochentag 2) ist und die Uhrzeit zwischen 18:45 und 22:00 Uhr liegt if (wochentag === 2 && ((stunde === 18 && minute >= 45) || (stunde >= 19 && stunde < 22))) { lautstaerke = 10; // Lautstärke auf 10 setzen } // Lautstärke und Text an Alexa senden setState('alexa2.0.Echo-Devices.G2A0XL07022603EU.Commands.speak-volume', lautstaerke); setState('alexa2.0.Echo-Devices.G2A0XL07022603EU.Commands.speak', text); }
  • [gelöst] Datenpunkt MQTT-Client per Skript (de)aktivieren?

    12
    1
    0 Votes
    12 Posts
    709 Views
    BananaJoeB
    @ticaki Perfekt, danke!
  • hilfe bei request durch httpget ersetzen

    javascript
    8
    0 Votes
    8 Posts
    480 Views
    Q
    @ro75 DANKE!!!
  • Hilfe bei RSS-feed benötigt !

    426
    0 Votes
    426 Posts
    75k Views
    L
    @negalein Hi Bin wieder mal da, ja bei mir funktionierts. Kann dir aber leider nicht mehr weiterhelfen...sorry LG
  • JS für Überwachung der Luftfeuchtigkeit in Räumen

    19
    1 Votes
    19 Posts
    2k Views
    NashraN
    @homoran sagte in JS für Überwachung der Luftfeuchtigkeit in Räumen: @gismoh sagte in JS für Überwachung der Luftfeuchtigkeit in Räumen: Momentan füge ich noch den Taupunkt hinzu, um zu warnen, wann es zu Schimmel kommen kann - so zumindest die Idee. hast du den nicht schon in den Rechnungen drin? [image: 1742573064634-screenshot_20250321-170319_firefox.jpg] für die Werkstatt hab ich noch zusätzlich den "Taupunkt" für 80% und 70% Feuchte, da dies eigentlich schon die Grenzwerte für Schimmelbildung sind Hi, welches Widget hast Du für die Anzeige Ja/nein beim lüften genutzt. Bekomme es einfach nicht hin mit dem Text bzw finde wohl nicht das Richtige. EDIT: hat sich erledigt, habe es hinbekommen
  • Erstes oder letztes Datenpunkt-Objekt im Verzeichnis

    2
    0 Votes
    2 Posts
    226 Views
    paul53P
    @ralf-8 sagte: Da Arrays nullbasiert sind, ist die Anzahl length -1 Die Anzahl ist length, der Index des letzten Elements ist length - 1. Man sollte die komplexe Selektor-Funktion nur einmal aufrufen. const ids = $('0_userdata.0.zaehlerstand.2025.*'); // oder als Array // const ids = $('0_userdata.0.zaehlerstand.2025.*').toArray(); const anzahl = ids.length; const last_ele = ids[anzahl - 1];
  • 0 Votes
    4 Posts
    338 Views
    PlasmachefP
    @ticaki @mickym herzlichen Dank, das war der richtige Ansatz für mich weiterzukommen. Sorry für das Bild ... ich gelobe Besserung :-)
  • [gelöst] Json mit Variable in Datenpunkt schreiben

    7
    0 Votes
    7 Posts
    532 Views
    T
    @ralf-8 sagte in [gelöst] Json mit Variable in Datenpunkt schreiben: @ticaki danke, aber es funktioniert leider auch ohne Klammer nicht. sry hatte nicht richtig gelesen, bin gerade mir Kontaktlinsen am angewöhnen :)
  • JS Adapter 5.2.13 -> 8.8.3 Update: Probleme?

    5
    0 Votes
    5 Posts
    277 Views
    K
    @haselchen Super, vielen Dank!
  • [gelöst Editor Problem] getState/ setState und extendState

    3
    0 Votes
    3 Posts
    282 Views
    Ben1983B
    @haus-automatisierung sorry. schreibfehler, aber nur hier im thread. Habe es verbessert Funktioniert übrigens, trotz dass es der Editor anmeckert.
  • [gelöst] Wie krieg ich "result" an Blockly übergeben

    12
    3
    0 Votes
    12 Posts
    902 Views
    metaxaM
    @codierknecht sagte in [gelöst] Wie krieg ich "result" an Blockly übergeben: Muss da wirklich mit 'nem Zeitplan gearbeitet werden? Leider ja, natürlich nicht jede Minute wie in meinem Beispiel, das war nur für die Dauer des Testes. Die alten MH bieten leider keinen DP der sich ändert wenn am Thermostat manuell der Modus verändert wird. [image: 1742210697168-6d4897f0-f033-4bd7-b14e-946cb28241f0-image.png] Nachdem ich 5 oder 6 Stk. abfragen muss, werde ich vermutlich auf einen Interval von 10 oder gar 30 Minuten gehen.
  • [gelöst] Reihenfolge der on() Aufrufe abfragen

    2
    0 Votes
    2 Posts
    219 Views
    haus-automatisierungH
    @ben1983 sagte in Reihenfolge der on() Aufrufe abfragen: kann kann man irgendwie voraussagen, welche zum Triggerzeitpunkt als erste aufgerufen wird? Nein, nicht zuverlässig. Wenn man Dinge voneinander abhängig machen möchte, muss man diese in den selben Trigger packen.
  • Hilfe bei der Verwendung von serialport

    14
    0 Votes
    14 Posts
    664 Views
    haus-automatisierungH
    @oliverio sagte in Hilfe bei der Verwendung von serialport: Nur die letzte Zeile im Skriptlog ist nicht immer ganz erklärend Ja, das Problem ist, dass das Log innerhalb der Scripts nach der Script ID sucht. Alles, wo nicht die Script ID enthalten ist, wird ausgeblendet. Dadurch fehlt meistens die (wichtige) erste Zeile des Logs und nur der Stack wird angezeigt.
  • blockly - javascribt - Objekte funkt nicht

    13
    0 Votes
    13 Posts
    872 Views
    HomoranH
    @mg99 sagte in blockly - javascribt - Objekte funkt nicht: Das Problem dürfte gelöst sein, letztlich war es der Cache. eher das debug log vom shelly das im Millisekunden takt ins log schrieb
  • Mysql Datenbank Daten in IOBoker

    15
    1
    0 Votes
    15 Posts
    1k Views
    R
    @ralf-2 Liebe Danke es funktioniert Hier die Funktionierende Abfrage sendTo('sql.0', 'query', 'SELECT (iobroker.ts_number.ts) , iobroker.ts_number.val FROM iobroker.ts_number WHERE iobroker.ts_number.id = 72 ', function (result) { if (result.error) { console.error('Fehler bei der Abfrage:', result.error); } else { let liste = new Array; let x = 0; for (var record of result.result) { let jsonRecord = { val: record.val, // Ersetze dies durch den tatsächlichen Wert ts: record.ts // Ersetze dies durch den tatsächlichen Zeitstempel }; liste[x] = jsonRecord; x++; // console.log('val :' + record.val); // console.log('ts :' + record.ts); } const jsonString = JSON.stringify(liste); setState('javascript.0.Meine_Variabeln.Temp1', jsonString); // console.log(jsonString); } }); Es gibt noch einen Warnung aber die Funktion ist gegeben. <<< at Object.<anonymous> (script.js.SQL_Lesen:21:9) DANKE !!!!!!!
  • [gelöst] timestamp eines DP als String ausgeben

    11
    0 Votes
    11 Posts
    472 Views
    MartinPM
    @paul53 sagte in [gelöst] timestamp eines DP als String ausgeben: @martinp sagte: ein wenig aufgeräumt... Die Zeile 2 ist unnötig, da ein DP ohne state nicht triggern kann. Ist Einleuchtend. Dann machst Du besseren Code, als Blockly. Dort wird im umgewandelten Code sogar zweimal über den ternary Operator ?: die Abfrage gemacht...
  • [Gelöst] iobroker Pfad auf neue Datenpunkte überwachen

    3
    0 Votes
    3 Posts
    268 Views
    boriswernerB
    @paul53 onObject und die Funktionssignatur hab ich in der Autovervollständigung vom Javascript Editor gefunden (hab einfach mal geschaut, was mir so vorgeschlagen wird). Dein Beispiel funktioniert, allerdings wird das on bei jeder Wertänderung eines beliebigen Datenpunktes in dem Pfad ausgelöst. Das ist eine andere Eventquelle als ich gehofft hatte (wie im ersten Post beschrieben wollte ich lieber auf das Event "Datenpunkt wurde erstellt" reagieren, statt "Datenpunktwert hat sich geändert"), das hilft mir aber auch, da ich das jetzt einfach noch auf den "name" Datenpunkt erweitern kann. Der ändert sich nie. Somit habe ich jetzt folgende Lösung für mein Problem (log ist natürlich nur Beispielhaft): on({id: /^octoprint\.0\.files\..+\.name/, change: "ne"}, function(dp) {log(dp.id);}); und ich bedanke mich vielmals bei dir. Manchmal denkt man einfach zu kompliziert :-)

570

Online

32.7k

Users

82.5k

Topics

1.3m

Posts