Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Anlegen von States über script in alias.0

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

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

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

Anlegen von States über script in alias.0

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
states script erzeugen
29 Beiträge 6 Kommentatoren 2.3k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • BlackmikeB Blackmike

    @paul53 sagte in Anlegen von States über script in alias.0:

    @Blackmike
    Gerade getestet und Du hast recht: extendObject(id, obj) funktioniert nicht mehr wie beschrieben.
    js-controller 2.1.0
    javascript 4.3.1

    gut, oder auch nicht... stellt du das issue ?
    als workaround habe ich mal das probiert:

    var extCom= {};
    extCom.common= Object.assign (oID.common,{wrapper: wpath+sWrapID});
    extendObject (oID._id, extCom,function () {....;}
    

    kann aber nicht die generelle Lösung sein.
    aber kannst dir mein gesicht vorstellen , als bei Start damit binnen Sekenden alle meine States am Ar... waren und das log logischerweise von Zugriffsfehlern überlief. Zum Glück gibts bei proxmox die Snapshoots, ich hatte da keinen sinnigen fehler gefunden, da produktivsystem muss laufen, also rollback und die VM geklont, jontroller upgrade, und spurensuche...
    ich hab jetzt das Wrapperscript mit meinem Workaround angepasst und werd nun nochmal ein Upgrade des hauptsystems probieren (An den Snapshot hab ich auch gedacht)

    Danke für deine Mühe, Black

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #15

    @Blackmike sagte:

    stellt du das issue ?

    Ja, erledigt.

    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

    BlackmikeB 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @Blackmike sagte:

      stellt du das issue ?

      Ja, erledigt.

      BlackmikeB Offline
      BlackmikeB Offline
      Blackmike
      schrieb am zuletzt editiert von
      #16

      ok, so als zwischenmeldung, nach dem anpassen des wrapperscriptes auf den Workaround, snapshot und controllerupdate startete das produktivsystem sauber durch.

      Nicht destotrotz werd ich an der geschichte mit den aliases nun weitermachen, ist aber etwas der durck raus nun da fehelr gefunden. Im Enszustand soll dann aliases den part des wrappers übernehmen.

      Black

      die Wahrheit ist ein Chor aus Wind

      1 Antwort Letzte Antwort
      0
      • apollon77A Offline
        apollon77A Offline
        apollon77
        schrieb am zuletzt editiert von
        #17

        Sehr interessant. Auf reinem js-Controller Level gibt es sogar Tests für extendObject. Die hab ich jetzt noch erweitert. Da klappt das extend wie es soll ... hhhmmmmmm ......

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        1 Antwort Letzte Antwort
        0
        • BlackmikeB Offline
          BlackmikeB Offline
          Blackmike
          schrieb am zuletzt editiert von
          #18

          @apollon77 sagte in Anlegen von States über script in alias.0:

          Sehr interessant. Auf reinem js-Controller Level gibt es sogar Tests für extendObject. Die hab ich jetzt noch erweitert. Da klappt das extend wie es soll ... hhhmmmmmm ......

          kann ich dir mit irgendwelchen Angaben weiterhelfen ?
          paul53 konnte dies ja auch nachstellen.

          Black

          die Wahrheit ist ein Chor aus Wind

          1 Antwort Letzte Antwort
          0
          • apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #19

            Mal frech gefragt: Eure Tests ... haben die mit controller 1.5 und 2.1 mit der gleichen javascript Adapter version stattgefunden? Wenn ja mit welcher?

            Also wir sind gerade an folgendem Punkt: Scheinbar ändert "Vm2" (was die Sandbox ist in der die Skripte laufen) hier das Objekt etwas und daher wird es nicht mehr als ein Objekt erkannt an der Stelle wo die Daten gemerged werden.
            Wenn das so ist, dann sollte dieses Problem aber seit javascript 3.7 oder so existieren (oder wann auch immer vm2 offiziell für alle an war ...)

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            BlackmikeB 1 Antwort Letzte Antwort
            0
            • apollon77A apollon77

              Mal frech gefragt: Eure Tests ... haben die mit controller 1.5 und 2.1 mit der gleichen javascript Adapter version stattgefunden? Wenn ja mit welcher?

              Also wir sind gerade an folgendem Punkt: Scheinbar ändert "Vm2" (was die Sandbox ist in der die Skripte laufen) hier das Objekt etwas und daher wird es nicht mehr als ein Objekt erkannt an der Stelle wo die Daten gemerged werden.
              Wenn das so ist, dann sollte dieses Problem aber seit javascript 3.7 oder so existieren (oder wann auch immer vm2 offiziell für alle an war ...)

              BlackmikeB Offline
              BlackmikeB Offline
              Blackmike
              schrieb am zuletzt editiert von Blackmike
              #20

              @apollon77
              javascriptadapter war immer der gleiche, der war schon vor dem controllerUpgrade auf 4.3.3

              Stand war:
              vor dem Upgrade lief js 1.5.14 mit jenigmn javascript adapter, ohne probleme (das war auch das Produktivsystem)

              nach dem Upgrade auf 2.1.0 hats mir alle States zerschlagen, die der Wrapper angefasst hat, also eine ganze menge

              (Ich habe mir angewöhnt schon seit längerem, immer zuerst den JS-Controller uozugraden, system beobachten udn erst dann evtl weitere Adapter nachzuziehen)

              die Wahrheit ist ein Chor aus Wind

              1 Antwort Letzte Antwort
              0
              • apollon77A Offline
                apollon77A Offline
                apollon77
                schrieb am zuletzt editiert von
                #21

                Seeeehr Strange ... wir überlegen wie wir die Ursache fixen.

                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                1 Antwort Letzte Antwort
                0
                • apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #22

                  Hey All, der war echt nice ;-)

                  Also was passiert ist, ist das Objekte die in Javascript Skripten erzeugt werden quasi noch so ein bissl der "Sandbox" in der sie ausgeführt werden mit sich rumtragen.
                  Das war schon immer so. Die ganze "Objekt-Logik" (auch das echte "extendObject") hat im js-controller (und nur da) stattgefunden. Das Objekt wurde serialisiert und zum controller übertragen. Dadurch ist der "komische Teil" quasi abgeschüttelt worden. Deswegen hatte das keine Auswirkung.

                  Seit js-controller 2.0 übernimmt die Logik eine Library die vom Adapter direk genutzt wird und die "Datenbank" macht quasi nur noch "get" und "set". Das extend wird also quasi vom Adapter-Prozess gemacht und hier stolpert die "extend"-Funktion jetzt über den Sandbox-Teil im Objekt und arbeitet dadurch anders weil es kein echtes Objekt mehr ist sondern was komisches halt :-)

                  Wir haben jetzt einen Fix dafür. Am Ende sind es aktuell zwei Stellen wo wir etwas geändert haben dafür, es sollte aber reichen wenn Ihr EINE davon nutzt!

                  1.) Es gibt eine neue Version der genannten Objects-Library. Jeder der den controller 2.1.0 nach heute 13:30 Uhr installiert hat sollte diese schon haben. Ansonsten kann diese aktualisiert werden: cd /opt/iobroker/node_modules/iobroker.js-controller dann dort npm update iobroker.objects-redis sollte die 1.2.7 der Library installieren. Danach mindesterns den javascript adapter neu starten (am besten gesamten controller)

                  2.) Installiert JavaScript vom GitHub. Kommt dann da in die nächste Version rein.

                  Ingo

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  paul53P 1 Antwort Letzte Antwort
                  0
                  • apollon77A apollon77

                    Hey All, der war echt nice ;-)

                    Also was passiert ist, ist das Objekte die in Javascript Skripten erzeugt werden quasi noch so ein bissl der "Sandbox" in der sie ausgeführt werden mit sich rumtragen.
                    Das war schon immer so. Die ganze "Objekt-Logik" (auch das echte "extendObject") hat im js-controller (und nur da) stattgefunden. Das Objekt wurde serialisiert und zum controller übertragen. Dadurch ist der "komische Teil" quasi abgeschüttelt worden. Deswegen hatte das keine Auswirkung.

                    Seit js-controller 2.0 übernimmt die Logik eine Library die vom Adapter direk genutzt wird und die "Datenbank" macht quasi nur noch "get" und "set". Das extend wird also quasi vom Adapter-Prozess gemacht und hier stolpert die "extend"-Funktion jetzt über den Sandbox-Teil im Objekt und arbeitet dadurch anders weil es kein echtes Objekt mehr ist sondern was komisches halt :-)

                    Wir haben jetzt einen Fix dafür. Am Ende sind es aktuell zwei Stellen wo wir etwas geändert haben dafür, es sollte aber reichen wenn Ihr EINE davon nutzt!

                    1.) Es gibt eine neue Version der genannten Objects-Library. Jeder der den controller 2.1.0 nach heute 13:30 Uhr installiert hat sollte diese schon haben. Ansonsten kann diese aktualisiert werden: cd /opt/iobroker/node_modules/iobroker.js-controller dann dort npm update iobroker.objects-redis sollte die 1.2.7 der Library installieren. Danach mindesterns den javascript adapter neu starten (am besten gesamten controller)

                    2.) Installiert JavaScript vom GitHub. Kommt dann da in die nächste Version rein.

                    Ingo

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #23

                    @apollon77
                    Habe Version 1 getestet: Musste mit sudo npm update iobroker.objects-redis installieren. Nach Neustart von ioBroker keine Veränderung: common wird ersetzt, nicht ergänzt.

                    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

                    apollon77A 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @apollon77
                      Habe Version 1 getestet: Musste mit sudo npm update iobroker.objects-redis installieren. Nach Neustart von ioBroker keine Veränderung: common wird ersetzt, nicht ergänzt.

                      apollon77A Offline
                      apollon77A Offline
                      apollon77
                      schrieb am zuletzt editiert von apollon77
                      #24

                      @paul53 Hm ... kannst Du mal im "Node_modules" Baum sichen wo ggf diese Lib so alles rumliegt und wleche version installiert ist ... hat die npm ausgabe gezeigt das es getan hat und die 1.2.7 installiert wurde? sonst ggf mal "npm install iobroker.objects-redis@1.2.7" machen ?!

                      Ansomsten die einzige Änderung für Variabnte 2 ist: https://github.com/ioBroker/ioBroker.javascript/commit/e5f38b59f119961634eb59c677bfc848ac14bb2b

                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                      paul53P 1 Antwort Letzte Antwort
                      0
                      • apollon77A apollon77

                        @paul53 Hm ... kannst Du mal im "Node_modules" Baum sichen wo ggf diese Lib so alles rumliegt und wleche version installiert ist ... hat die npm ausgabe gezeigt das es getan hat und die 1.2.7 installiert wurde? sonst ggf mal "npm install iobroker.objects-redis@1.2.7" machen ?!

                        Ansomsten die einzige Änderung für Variabnte 2 ist: https://github.com/ioBroker/ioBroker.javascript/commit/e5f38b59f119961634eb59c677bfc848ac14bb2b

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #25

                        @apollon77 sagte:

                        hat die npm ausgabe gezeigt das es getan hat und die 1.2.7 installiert wurde?

                        Ja.

                        Habe inzwischen auch die Änderung in sandbox.js, Zeile 2755 getestet: Mit dieser Änderung funktioniert es wie es soll.

                        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 Antwort Letzte Antwort
                        0
                        • apollon77A Offline
                          apollon77A Offline
                          apollon77
                          schrieb am zuletzt editiert von
                          #26

                          Ja ich weiss inzwischen auch warum das nicht klappt ... Ein js.controller 2.1.1 ist im Latest für kurzen Check ... Wer mag bitte checken

                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                          paul53P 1 Antwort Letzte Antwort
                          0
                          • apollon77A apollon77

                            Ja ich weiss inzwischen auch warum das nicht klappt ... Ein js.controller 2.1.1 ist im Latest für kurzen Check ... Wer mag bitte checken

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #27

                            @apollon77
                            Update auf js-controller 2.1.1 (Fixer war notwendig), Änderung in Zeile 2755 sandbox.js rückgängig gemacht, JS-Instanz neu gestartet und getetest: extendObject() funktioniert wie erwartet.

                            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 Antwort Letzte Antwort
                            1
                            • BlackmikeB Offline
                              BlackmikeB Offline
                              Blackmike
                              schrieb am zuletzt editiert von Blackmike
                              #28

                              Ich seh den 2.1.1 noch nicht in latest ... wenn ich ihn hab probiere ich auch

                              die Wahrheit ist ein Chor aus Wind

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • BlackmikeB Blackmike

                                Ich seh den 2.1.1 noch nicht in latest ... wenn ich ihn hab probiere ich auch

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #29

                                @Blackmike sagte:

                                Ich seh den 2.1.1 noch nicht in latest

                                Adapterinformationen aktualisieren (Reiter "Adapter").

                                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 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

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

                                620

                                Online

                                32.5k

                                Benutzer

                                81.7k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe