Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Javascript Adapter 2.03, Feedback

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Javascript Adapter 2.03, Feedback

Scheduled Pinned Locked Moved ioBroker Allgemein
42 Posts 11 Posters 10.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #19

    @ruhr70:

    …kannst Du auch die anderen dazugehörigen Scripts posten? `
    Hier ein Beispiel für einen 2-Punkt-Regler zur Raumheizung:

    ! // 2-Punkt-Regler Raumheizung ! // Raumkurzname am Anfang des Datenpunktnamen und als JS-Gruppenname var raum = name.split(".")[2]; ! // halbe Hysterese in K var hh = 0.1; ! var xid = getIdByName(raum + ".Temperatur"); var wid = getIdByName(raum + ".Sollwert"); var yid = getIdByName(raum + ".Heizen"); var x = getState(xid).val; // Istwert in °C var w = getState(wid).val; // Sollwert in °C ! function hys() { if (x <= w - hh) setState(yid, true); else if (x >= w + hh) setState(yid, false); } ! hys(); // Script start ! on(xid, function(dp) { x = dp.state.val; hys(); }); ! on(wid, function(dp) { w = dp.state.val; hys(); }); !

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Reply Last reply
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      wrote on last edited by
      #20

      @paul53:

      @ruhr70:

      …kannst Du auch die anderen dazugehörigen Scripts posten? Hier ein Beispiel für einen 2-Punkt-Regler zur Raumheizung:

      mmmh.. ;-) und der Teil, in dem die Datenpunkte erstellt und aktualisiert werden.

      Ich habe leider keine Heizungssteuerung, sondern nur sieben Thermostate (HM-TC-IT-WM-W-EU und HM-WDS40-TH-I). Die Fußbodenheizung wird manuell geregelt.

      Ich dachte, ich könnte mir aus Deinem Script die Visualisierung des Taupunktes, usw. "klauen". Aber irgendwie fehlt mir da noch einiges.

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Reply Last reply
      0
      • paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #21

        @ruhr70:

        Ich dachte, ich könnte mir aus Deinem Script die Visualisierung des Taupunktes, usw. "klauen". Aber irgendwie fehlt mir da noch einiges. `
        Die HTML-Formaterung in der Funktion "anzeige" dient nur der Anzeige im Admin-Reiter "Zustände". Ich benutze kein VIS.
        filename="Anzeige_Zustände.JPG" index="0">~~
        Den Feuchtegehalt (x) benutze ich zusammen mit der Temperatur durch Vergleich Aussen-Innen zur Lüftungsempfehlung.

        ! // Raumlüftung ! // Raumkurzname am Anfang des Datenpunktnamen und als JS-Gruppenname var raum = name.split(".")[2]; ! var tiid = getIdByName(raum + ".Temperatur"); var taid = getIdByName("Aussen.Temperatur"); var xiid = getIdByName(raum + ".Feuchtegehalt"); var xaid = getIdByName("Aussen.Feuchtegehalt"); var lid = getIdByName(raum + ".Lueften"); ! var ti = getState(tiid).val; // Raumtemperatur in °C var ta = getState(taid).val; // Aussentemperatur in °C var xi = getState(xiid).val; // Raumfeuchtegehalt in g/kg var xa = getState(xaid).val; // Aussenfeuchtegehalt in g/kg ! // Lüftung steuern mit 0,3 g/kg und 0,5 K Hysterese function lueften() { if (xa <= (xi - 0.4) && ta <= (ti - 0.6) && ti >= 22.0) setState(lid, true); else if (xa >= (xi - 0.1) || ta >= (ti - 0.1) || ti <= 21.5) setState(lid, false); } ! lueften(); // Script start ! on(xiid, function (dp) { xi = dp.state.val; lueften(); }); ! on(xaid, function (dp) { xa = dp.state.val; lueften(); }); ! on(tiid, function (dp) { ti = dp.state.val; lueften(); }); ! on(taid, function (dp) { ta = dp.state.val; lueften(); }); !

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Reply Last reply
        0
        • Lenny.CBL Offline
          Lenny.CBL Offline
          Lenny.CB
          Most Active
          wrote on last edited by
          #22

          Gestern Abend ist mir was komisches passiert.

          Wollte ein neues Script anlegen. Blöderweise habe ich eine Gruppe angelegt.

          Naja, wieder gelöscht und das selbe Phänomen wie bei anderen - nix gelöscht… Workaround funktionierte.

          Nun aber wirklich ein neues Script angelegt und etwas mit dem Code rumgespielt.

          Dann Script wieder gelöscht --> Workaround...

          Nun das Komische:

          alle Scripte bis auf "common" und "global" sind weg (auch die Alten!), ABER das von mir gelöschte wird im Log weiterhin alle 5 Minuten als "gestartet" aufgeführt...

          Meine 2 Fragen:

          Wo sind meine ursprünglichen Scripte hin?

          Warum wird ein gelöschtes Script gestartet?

          Vielen Dank für eure Antworten!

          1 Reply Last reply
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            wrote on last edited by
            #23

            @Lenny.CB:

            Gestern Abend ist mir was komisches passiert.

            Wollte ein neues Script anlegen. Blöderweise habe ich eine Gruppe angelegt.

            Naja, wieder gelöscht und das selbe Phänomen wie bei anderen - nix gelöscht… Workaround funktionierte.

            Nun aber wirklich ein neues Script angelegt und etwas mit dem Code rumgespielt.

            Dann Script wieder gelöscht --> Workaround...

            Nun das Komische:

            alle Scripte bis auf "common" und "global" sind weg (auch die Alten!), ABER das von mir gelöschte wird im Log weiterhin alle 5 Minuten als "gestartet" aufgeführt...

            Meine 2 Fragen:

            Wo sind meine ursprünglichen Scripte hin?

            Warum wird ein gelöschtes Script gestartet?

            Vielen Dank für eure Antworten! `
            Hoch Wahrscheinlich sind deine Scripte weg :?

            Ich werde aber die Prüfung, ob Name frei ist, einbauen.

            1 Reply Last reply
            0
            • Lenny.CBL Offline
              Lenny.CBL Offline
              Lenny.CB
              Most Active
              wrote on last edited by
              #24

              @Bluefox:

              Hoch Wahrscheinlich sind deine Scripte weg :? `
              Damit habe ich schon gerechnet… leider... :oops:

              aber warum läuft ein Script was bereits gelöscht und auch in der Übersicht nicht mehr zu sehen ist?

              1 Reply Last reply
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                wrote on last edited by
                #25

                @Lenny.CB:

                aber warum läuft ein Script was bereits gelöscht und auch in der Übersicht nicht mehr zu sehen ist? `
                Fehler… :(

                Starte instance neu.

                1 Reply Last reply
                0
                • Lenny.CBL Offline
                  Lenny.CBL Offline
                  Lenny.CB
                  Most Active
                  wrote on last edited by
                  #26

                  @Bluefox:

                  Fehler… :(

                  Starte instance neu. `

                  führt immer noch zum Fehler…

                  Selbst dann noch wenn ich die Instance (javascript.0, habe nur die eine) lösche und neu anlege...

                  Neustart des Banana hat auch nichts gebracht...
                  983_fehler_javascript_reiter_scripte.jpg
                  983_fehler_javascript_log.jpg

                  1 Reply Last reply
                  0
                  • BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    wrote on last edited by
                    #27

                    @Lenny.CB:

                    @Bluefox:

                    Fehler… :(

                    Starte instance neu. `

                    führt immer noch zum Fehler…

                    Selbst dann noch wenn ich die Instance (javascript.0, habe nur die eine) lösche und neu anlege...

                    Neustart des Banana hat auch nichts gebracht... `
                    Gehe zur Objektlasche, schalte Expert Mode an. Was siehst du unter "scrtip.js.*" ?

                    1 Reply Last reply
                    0
                    • M Online
                      M Online
                      mctom
                      wrote on last edited by
                      #28

                      Ich habe ein ähnliches Problem:

                      filename="2016-03-15%2017_26_31-ioBroker.admin.png" index="0">~~

                      Ich bekomme das WOL-Synology Script einfach nicht gelöscht.

                      Gibt es hier einen Tipp ?

                      1 Reply Last reply
                      0
                      • Lenny.CBL Offline
                        Lenny.CBL Offline
                        Lenny.CB
                        Most Active
                        wrote on last edited by
                        #29

                        @Bluefox:

                        Gehe zur Objektlasche, schalte Expert Mode an. Was siehst du unter "scrtip.js.*" ? `
                        sowas?

                        mir ist aber grad noch etwas aufgefallen.

                        Habe meinLOWBAT-Script mal wieder angelegt, dann war der Fehler aus dem log weg.

                        Lösche ich das LOWBAT-Script wieder ist der Fehler wieder da.

                        Mich verwirrt nur im LOG das Script "Skript1" was ich anfangs mal angelegt habe…

                        Meine Vermutung ist, der Fehler tritt auf wenn die JavaScript-Instance läuft aber keine Scripte vorhanden sind die ausgeführt werden können.
                        983_fehler_javascript_reiter_scripte2.jpg

                        1 Reply Last reply
                        0
                        • Lenny.CBL Offline
                          Lenny.CBL Offline
                          Lenny.CB
                          Most Active
                          wrote on last edited by
                          #30

                          @mctom:

                          Ich habe ein ähnliches Problem:

                          filename="2016-03-15%2017_26_31-ioBroker.admin.png" index="0">~~

                          Ich bekomme das WOL-Synology Script einfach nicht gelöscht.

                          Gibt es hier einen Tipp ? `

                          probier mal den Workaround von looxer01

                          EDIT: Workaround ist: nach loeschen die ioBroker Seite neu aufrufen.
                          Sofort nach loeschen einer Gruppe. Dann bleibt dies Gruppe auch verschwunden
                          getestet mir Firefox und Chrome
                          
                          1 Reply Last reply
                          0
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            wrote on last edited by
                            #31

                            @mctom:

                            Ich habe ein ähnliches Problem:

                            filename="2016-03-15%2017_26_31-ioBroker.admin.png" index="0">~~

                            Ich bekomme das WOL-Synology Script einfach nicht gelöscht.

                            Gibt es hier einen Tipp ? `
                            Entwider ist da in der Konsole ein Fehler (muss ich sehen) oder es wird mit F5 alles gut.

                            1 Reply Last reply
                            0
                            • M Online
                              M Online
                              mctom
                              wrote on last edited by
                              #32

                              Auch mit F5 bekomm ich die Seite nicht angepasst. Und den Workaround kann ich nicht testen, da ich hier keinen löschen Button habe.

                              1 Reply Last reply
                              0
                              • BluefoxB Offline
                                BluefoxB Offline
                                Bluefox
                                wrote on last edited by
                                #33

                                @mctom:

                                Auch mit F5 bekomm ich die Seite nicht angepasst. Und den Workaround kann ich nicht testen, da ich hier keinen löschen Button habe. `
                                Bitte in Objektlasche "Expert mode" einschalten.
                                48_2016-03-15_20_07_05-iobroker.admin.png
                                Was sieht man da?

                                1 Reply Last reply
                                0
                                • M Online
                                  M Online
                                  mctom
                                  wrote on last edited by
                                  #34

                                  Ich bekomme da nichts.

                                  Es gibt bei mir kein script.js
                                  394_2016-03-15_20_45_20-iobroker.admin.png

                                  1 Reply Last reply
                                  0
                                  • BluefoxB Offline
                                    BluefoxB Offline
                                    Bluefox
                                    wrote on last edited by
                                    #35

                                    @mctom:

                                    Ich bekomme da nichts.

                                    Es gibt bei mir kein script.js
                                    filename="2016-03-15 20_45_20-ioBroker.admin.png" index="0">~~ `
                                    Du hast filter "state"

                                    1 Reply Last reply
                                    0
                                    • blauholstenB Offline
                                      blauholstenB Offline
                                      blauholsten
                                      Developer
                                      wrote on last edited by
                                      #36

                                      @Bluefox:

                                      @mctom:

                                      Ich bekomme da nichts.

                                      Es gibt bei mir kein script.js
                                      filename="2016-03-15 20_45_20-ioBroker.admin.png" index="0">~~ Du hast filter "state"
                                      Weltklasse :!: :D …das ist mir auch schon mehrfach passiert mit dem Filter :evil:

                                      Entwickler vom: - Viessman Adapter
                                      - Alarm Adapter

                                      1 Reply Last reply
                                      0
                                      • S Offline
                                        S Offline
                                        Solear
                                        wrote on last edited by
                                        #37

                                        @paul53:

                                        @paul53:

                                        Bei mir bildet jeder Raum eine Gruppe, außerdem "Aussen". `
                                        Mit Hilfe der Gruppennamen und der neuen Funktion "name" kann ich Skripte für mehrere Räume kopieren, ohne Änderungen nach dem Kopieren vornehmen zu müssen (außer eventuelle Offsets). Beispiel:

                                        ! // Sensorwerte um Offset korrigieren, abs. Feuchte und Taupunkt berechnen und (inkl. Enthalpie) anzeigen ! // Raumkurzname am Anfang des Datenpunktnamen und als JS-Gruppenname var raum = name.split(".")[2]; ! // Offsets var toffset = 0.0; // in K var rhoffset = 0; // in % ! var tsid = getIdByName(raum + ".WT-Temperatur"); var hsid = getIdByName(raum + ".WT-rel.Feuchte"); var tid = getIdByName(raum + ".Temperatur"); var rhid = getIdByName(raum + ".rel_Feuchte"); var xid = getIdByName(raum + ".Feuchtegehalt"); var dpid = getIdByName(raum + ".Taupunkt"); var aid = getIdByName(raum + ".Klima"); ! var t = getState(tsid).val + toffset; // Temperatur, korrigiert in °C var rh = getState(hsid).val + rhoffset; // rel. Feuchte, korrigiert in % var x; // Feuchtegehalt in g/kg var dp; // Taupunkt in °C ! var DP = require('dewpoint'); ! // 70 m über NN var xdp = new DP(70); ! function calc() { var y = xdp.Calc(t, rh); x = y.x; dp = y.dp; setState(xid, x); setState(dpid, dp); } ! function anzeige() { // Enthalpie berechnen var h = (1.00545 * t + (2.500827 + 0.00185894 * t) * x).toFixed(1) + " kJ/kg"; var tanz = t.toFixed(1) + "°C"; dp = dp.toFixed(1) + "°C"; var rhanz = rh.toFixed(0) + " %"; x = x.toFixed(2) + " g/kg"; var anz = ''; anz = anz + ' ! | Temper. | rel.F. | Feuchtegeh. | Taupunkt | Enthalpie | | ' + tanz + ' | ' + rhanz + ' | ' + x + ' | ' + dp + ' | ' + h + ' | ! '; setState(aid, anz); } ! function klima() { calc(); anzeige(); } ! klima(); // Script start ! on(tsid, function (dp) { t = dp.state.val + toffset; setState(tid, t); klima(); }); ! on(hsid, function (dp) { rh = dp.state.val + rhoffset; setState(rhid, rh); klima(); }); ! `

                                        Hallo

                                        ich habe ein wenig Probleme mit dem node Modul dewpoint.

                                        Da ich das Raumnamenkonzept von paul53 noch nicht so ganz durchblickt habe, habe ich bei den getState Abfragen im oben genanntne Script meine konkrete Geräte ID eingefügt.

                                        Soweit OK.

                                        Führe ich das Script aber aus, erscheint folgender Fehler:

                                        ` > 6:17:33.102 [error] javascript.0 script.js.common.entfeuchtung.Skript1: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/dewpoint' at script.js.common.entfeuchtung.Skript1:23:11

                                        16:17:33.102 [error] javascript.0 script.js.common.entfeuchtung.Skript1: TypeError: DP is not a function at script.js.common.entfeuchtung.Skript1:26:11 `

                                        Das bezieht sich im Code auf

                                        var  DP = require('dewpoint');
                                        
                                        // 70 m über NN
                                        var xdp = new DP(70); 
                                        

                                        Der node-red Adapter ist installiert und aktiv. Das Modul dewpoint ist im Verzeichnis /opt/iobroker/node_modules/iobroker.javascript/node_modules/dewpoint nicht zu sehen.

                                        Was ist das Problem?

                                        paul53,

                                        ich habe ein wenig Probleme mit den Raumnamenkonzept.

                                        Irgendwie verstehe ich nicht, wie er dann zB an den Homematic Temperatursensorsensor im Keller zugreifen kann.

                                        btw., wofür steht "WT" bei zb "WT-Temperatur"?

                                        Vielen Dank!

                                        edit

                                        Habe jetzt manuell das Modul dewpoint von dort https://www.npmjs.com/package/dewpoint heruntergeladen und in das erwartete Verzeichnis /opt/iobroker/node_modules/iobroker.javascript/node_modules/dewpoint kopiert.

                                        Jetzt kommt oben genannter Fehler zwar nicht mehr, dafür ein anderer:

                                        > TypeError: t.toFixed is not a function at anzeige (script.js.common.entfeuchtung.Skript1:39:18) at klima (script.js.common.entfeuchtung.Skript1:50:4) at Object. (script.js.common.entfeuchtung.Skript1:58:4) at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1206:48) at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:541:48 at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2455:45) at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2449:28) at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:537:17) at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:215:17) at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1969:80)

                                        iobroker als LXC unter Proxmox

                                        1 Reply Last reply
                                        0
                                        • paul53P Offline
                                          paul53P Offline
                                          paul53
                                          wrote on last edited by
                                          #38

                                          @Solear:

                                          Führe ich das Script aber aus, erscheint folgender Fehler: `
                                          Das npm-Modul "dewpoint" muss für die JS-Instanz installiert sein. Das macht man in der Konfiguration der JS-Instanz unter "Zusätzliche NPM-Module":
                                          493_js-config.jpg
                                          @Solear:

                                          Irgendwie verstehe ich nicht, wie er dann zB an den Homematic Temperatursensorsensor im Keller zugreifen kann.

                                          btw., wofür steht "WT" bei zb "WT-Temperatur"? `
                                          Damit sich die Namen zwischen Hardware-Datenpunkt (ohne Offsetkorrektur) und Software-Datenpunkt (mit Offsetkorrektur) unterscheiden, nenne ich die HM-Datenpunkte "Raum.WT-Temperatur", wobei WT für Wandthermostat steht. Der korrigierte Temperaturwert hat den Namen "Raum.Temperatur". Im Keller würden der Temperaturwert "Keller.WT-Temperatur" oder "Keller.Sensor-Temperatur" heißen und der korrigierte JS-Datenpunkt dann "Keller.Temperatur".
                                          493_objekt-namen.jpg

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          778

                                          Online

                                          32.5k

                                          Users

                                          81.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe