Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Javascript Adapter 2.03, Feedback

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Javascript Adapter 2.03, Feedback

    This topic has been deleted. Only users with topic management privileges can see it.
    • andre
      andre Developer last edited by

      Hallo,

      danke für die Tipps. Bin jetzt gerade beim "Umorganisieren" 🙂

      Habe mir dazu auch mal eine neue Instanz vom Javascript-Adapter hinzugefügt (Für meine Bastelscripte). Der Adapter (javascript.1) ist auch wunderschön grün geworden, nur leider wurden keine Objekte angelegt. 😞 Außerdem hätte ich erwartet, dass ich oben einen zusätzlichen Reiter bekomme. Aber da ist nichts… (auch nicht im Editiermodus der Reiter)

      Mache ich was falsch? Gibt's da nen Bug? Muss ich vielleicht noch was konfigurieren?

      Wenn ich den Adapter neu lade, dann gibt's auch einträge im Log:

      javascript-1	2016-03-10 20:34:15	info	received all objects
      javascript-1	2016-03-10 20:34:14	info	received all states
      javascript-1	2016-03-10 20:34:12	info	requesting all objects
      javascript-1	2016-03-10 20:34:12	info	requesting all states
      javascript-1	2016-03-10 20:34:12	info	starting. Version 2.0.3 in /opt/iobroker/node_modules/iobroker.javascript
      host-jarvis	2016-03-10 20:34:06	info	instance system.adapter.javascript.1 started with pid 9050
      host-jarvis	2016-03-10 20:34:04	info	instance system.adapter.javascript.1 terminated with code 0 (OK)
      host-jarvis	2016-03-10 20:34:03	info	stopInstance system.adapter.javascript.1 killing pid 6603
      host-jarvis	2016-03-10 20:34:03	info	stopInstance system.adapter.javascript.1
      host-jarvis	2016-03-10 20:34:03	info	object change system.adapter.javascript.1
      

      Weiß jemand Rat? Liegt es vielleicht an der neuen Version?

      Danke.

      MfG,

      André

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        @blauholsten:

        3. Für was ist common?(für häufig gebrauchte Sachen?) `
        Das legt jeder selbst fest. Bei mir bildet jeder Raum eine Gruppe, außerdem "Aussen". common verwende ich für gemeinsame Sachen, wie Feiertage, Servicemeldungen, …

        1 Reply Last reply Reply Quote 0
        • blauholsten
          blauholsten Developer last edited by

          Hi,

          kannst jemand noch kurz was zu Frage Nr. 2 sagen(Nr. 1 hat sich quasi erledigt)

          Denn im Reiter steht eine Instanz Nummer neben den Skript Namen.

          EDIT

          Ich habe es gerade ausprobiert, der gilt trotz der Nummer für alle Instanzen.

          1 Reply Last reply Reply Quote 0
          • ruhr70
            ruhr70 last edited by

            @andre:

            Hallo,

            danke für die Tipps. Bin jetzt gerade beim "Umorganisieren" 🙂

            Habe mir dazu auch mal eine neue Instanz vom Javascript-Adapter hinzugefügt (Für meine Bastelscripte). Der Adapter (javascript.1) ist auch wunderschön grün geworden, nur leider wurden keine Objekte angelegt `

            Hi Andre,

            Objecte werden erst angelegt, wenn Du in der Instanz welche mit createState() anlegst.

            Oder wenn Du in der Instanz ein Script erstellst, in dem Du in der Spalte mit dem Scriptnamen die 1 auswählst.

            Gruß

            Michael

            1 Reply Last reply Reply Quote 0
            • ruhr70
              ruhr70 last edited by

              @steinwedel:

              Mir ist ein Maleur passiert. Habe eine Gruppe erzeugt, die genauso wie das Skript heißt. Dadurch wurde das Skript gelöscht. Eine Sicherung dagegen wäre sinnvoll. `

              Das sollte man wirklich besser im Adapter verhindern. Danke für die Warnung.

              Dann ist mir noch eine Sache aufgefallen:

              Wenn man ein Script kopiert, taucht im Namen die automatische Nummerierung, wie (1) nirgendwo auf. Nur in den Objekten sieht man das.

              1 Reply Last reply Reply Quote 0
              • andre
                andre Developer last edited by

                @ruhr70:

                …Oder wenn Du in der Instanz ein Script erstellst, in dem Du in der Spalte mit dem Scriptnamen die 1 auswählst. `
                Das war es! Ich habe die Ziffern einfach ausgeblendet bzw. nicht mit der Instanz in Verbindung gebracht. 🙂

                Jetzt hab ich's aber begriffen. Danke Michael.

                MfG,

                André

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by 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 anz = "t: " + t.toFixed(1) + " °C" + '   rH: ' + rh + " %" + '   x: ' + x.toFixed(2) + " g/kg" + '   dp: ' + dp.toFixed(1) + " °C" + '   h: ' + 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();
                  });
                  
                  1 Reply Last reply Reply Quote 0
                  • ruhr70
                    ruhr70 last edited by

                    @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.

                    Super Idee!

                    Aber auch das Script ist interessant… kannst Du auch die anderen dazugehörigen Scripts posten? 😉

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      @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(); }); !

                      1 Reply Last reply Reply Quote 0
                      • ruhr70
                        ruhr70 last edited by

                        @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.

                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 last edited by

                          @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(); }); !

                          1 Reply Last reply Reply Quote 0
                          • Lenny.CB
                            Lenny.CB Most Active last edited by

                            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 Reply Quote 0
                            • Bluefox
                              Bluefox last edited by

                              @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 Reply Quote 0
                              • Lenny.CB
                                Lenny.CB Most Active last edited by

                                @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 Reply Quote 0
                                • Bluefox
                                  Bluefox last edited by

                                  @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 Reply Quote 0
                                  • Lenny.CB
                                    Lenny.CB Most Active last edited by

                                    @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 Reply Quote 0
                                    • Bluefox
                                      Bluefox last edited by

                                      @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 Reply Quote 0
                                      • M
                                        mctom last edited by

                                        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 Reply Quote 0
                                        • Lenny.CB
                                          Lenny.CB Most Active last edited by

                                          @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 Reply Quote 0
                                          • Lenny.CB
                                            Lenny.CB Most Active last edited by

                                            @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 Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            951
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            11
                                            42
                                            9010
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo