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. Javascript 6.1.0 - Neue Funktionen (Beta)

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

Javascript 6.1.0 - Neue Funktionen (Beta)

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
52 Beiträge 11 Kommentatoren 6.4k Aufrufe 16 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.
  • HomoranH Homoran

    @apollon77 sagte in Javascript 6.1.0 - Neue Funktionen (Beta):

    As i remember

    geht das bei dir auch schon los? :duckundwech:

    M Offline
    M Offline
    Marty56
    schrieb am zuletzt editiert von Marty56
    #28

    @appollon

    Hi,

    Da ich immer diese massenhaften Abstürze bei den Aliases habe, möchte ich mein Alias Genierungsscript jetzt auf das offizielle API umstellen.
    Leider kappiere ich die Syntax nicht richtig.

    Alle Beispiele sollen überschreiben eines existierenden Alias enforcen.

    Beispiel 1.
    Ich möchte z.B. einen Wert invertieren.

    createAlias('alias.0.Test.test', 'hm-rpc.0.KEQ0172616.1.STATE',true, 
         {alias: { read: '!val'}
         })
    

    wird schon in der Syntax nicht angenommen.

    Beispiel 2:

    Und ich würde gerne den Typ des Alias ändern.
    Use Case. Es wird die Batterie in % gemessen im Original Datenpunkt und es soll ein Alias erzeugt werden, der boolean ausgibt, z.B. "low_bat".

    Irgendwie so

    createAlias('OG_Taster_3_LOWBAT', 'zigbee.0.943469fffe668b6a.battery',true, 
    {   
        name: "Zigbee Taster am Sofa im OG",
        type: "mixed",
        unit: "",
        alias: { read: "val < 20 ? true : false"}
    })
    

    letztlich soll der Alias so aussehen

    {
      "type": "state",
      "common": {
        "name": "Zigbee Taster am Sofa im OG",
        "type": "mixed",
        "unit": "",
        "read": true,
        "write": false,
        "role": "value.battery",
        "min": 0,
        "max": 100,
        "icon": "img/battery_p.png",
        "alias": {
          "id": "zigbee.0.943469fffe668b6a.battery",
          "read": "val < 20 ? true : false"
        }
      },
      "from": "system.adapter.javascript.0",
      "user": "system.user.admin",
      "ts": 1667491683697,
      "_id": "alias.0.OG_Taster_3_LOWBAT",
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      }
    }
    

    HW:NUC (16 GB Ram)
    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

    apollon77A 1 Antwort Letzte Antwort
    0
    • M Marty56

      @appollon

      Hi,

      Da ich immer diese massenhaften Abstürze bei den Aliases habe, möchte ich mein Alias Genierungsscript jetzt auf das offizielle API umstellen.
      Leider kappiere ich die Syntax nicht richtig.

      Alle Beispiele sollen überschreiben eines existierenden Alias enforcen.

      Beispiel 1.
      Ich möchte z.B. einen Wert invertieren.

      createAlias('alias.0.Test.test', 'hm-rpc.0.KEQ0172616.1.STATE',true, 
           {alias: { read: '!val'}
           })
      

      wird schon in der Syntax nicht angenommen.

      Beispiel 2:

      Und ich würde gerne den Typ des Alias ändern.
      Use Case. Es wird die Batterie in % gemessen im Original Datenpunkt und es soll ein Alias erzeugt werden, der boolean ausgibt, z.B. "low_bat".

      Irgendwie so

      createAlias('OG_Taster_3_LOWBAT', 'zigbee.0.943469fffe668b6a.battery',true, 
      {   
          name: "Zigbee Taster am Sofa im OG",
          type: "mixed",
          unit: "",
          alias: { read: "val < 20 ? true : false"}
      })
      

      letztlich soll der Alias so aussehen

      {
        "type": "state",
        "common": {
          "name": "Zigbee Taster am Sofa im OG",
          "type": "mixed",
          "unit": "",
          "read": true,
          "write": false,
          "role": "value.battery",
          "min": 0,
          "max": 100,
          "icon": "img/battery_p.png",
          "alias": {
            "id": "zigbee.0.943469fffe668b6a.battery",
            "read": "val < 20 ? true : false"
          }
        },
        "from": "system.adapter.javascript.0",
        "user": "system.user.admin",
        "ts": 1667491683697,
        "_id": "alias.0.OG_Taster_3_LOWBAT",
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      
      apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von apollon77
      #29

      @marty56 Ok, da muss ggf Doku erweitert werden.

      Die Alias Definition ist immer der ZWEITE parameter.

      Also "nur ne ID" wird zu {alias: {id: aliasId}} im common.

      Wenn Du an der Alias definition rumschrauben willst dann musst du das als zweiten Parameter angeben, also in deinem Fall

      createAlias('alias.0.Test.test', {id:'hm-rpc.0.KEQ0172616.1.STATE', read:'!val'},true, 
      

      bzw im zweiten Fall:

      createAlias('alias.0.Test.geraet_low_bat', {id: 'zigbee.0.00158d0002a1a494.battery',read: "val < 20 ? true : false" },true, 
      
      {   type: "mixed",
          unit: "%",
      })
      

      PS: ich hab es innden javascript docs noch erwähnt, wobei da schon stand:

      • alias: can be either an existing state id as string or a object with full alias definition including read/write ids and read/write functions.

      Jetzt ist noch ein "Not: Alias definitions can not be set as part of the common parameter!" dazugekommen.

      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
      M 1 Antwort Letzte Antwort
      2
      • apollon77A apollon77

        @marty56 Ok, da muss ggf Doku erweitert werden.

        Die Alias Definition ist immer der ZWEITE parameter.

        Also "nur ne ID" wird zu {alias: {id: aliasId}} im common.

        Wenn Du an der Alias definition rumschrauben willst dann musst du das als zweiten Parameter angeben, also in deinem Fall

        createAlias('alias.0.Test.test', {id:'hm-rpc.0.KEQ0172616.1.STATE', read:'!val'},true, 
        

        bzw im zweiten Fall:

        createAlias('alias.0.Test.geraet_low_bat', {id: 'zigbee.0.00158d0002a1a494.battery',read: "val < 20 ? true : false" },true, 
        
        {   type: "mixed",
            unit: "%",
        })
        

        PS: ich hab es innden javascript docs noch erwähnt, wobei da schon stand:

        • alias: can be either an existing state id as string or a object with full alias definition including read/write ids and read/write functions.

        Jetzt ist noch ein "Not: Alias definitions can not be set as part of the common parameter!" dazugekommen.

        M Offline
        M Offline
        Marty56
        schrieb am zuletzt editiert von
        #30

        @apollon77 Danke für die Erklärungen.

        Ich habe jetzt all meine Aliases auf das neue API umgestellt, alle alten Aliases gelöscht und dann wieder neu generiert.

        Leider ist dieser allgemeine, sporadische Alias Error immer noch da. Schade.

        2022-11-05 07:19:34.891 - error: admin.0 (516) Alias subscription error. Please check your alias definitions: sourceId=zigbee.0.00158d0003e57190.transition_time, sourceObj={"type":"state","common":{"name":"Transition time","type":"number","unit":"sec","read":false,"write":true,"role":"state"},"native":{},"from":"system.adapter.zigbee.0","user":"system.user.admin","ts":1653374903543,"_id":"zigbee.0.00158d0003e57190.transition_time","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
        2022-11-05 07:19:34.891 - error: admin.0 (516) Alias subscription error. Please check your alias definitions: sourceId=zigbee.0.00158d0003e57190.available, sourceObj={"type":"state","common":{"name":"Available","type":"boolean","read":true,"write":false,"role":"state"},"native":{},"from":"system.adapter.zigbee.0","user":"system.user.admin","ts":1653374903521,"_id":"zigbee.0.00158d0003e57190.available","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
        

        HW:NUC (16 GB Ram)
        OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

        apollon77A 1 Antwort Letzte Antwort
        0
        • M Marty56

          @apollon77 Danke für die Erklärungen.

          Ich habe jetzt all meine Aliases auf das neue API umgestellt, alle alten Aliases gelöscht und dann wieder neu generiert.

          Leider ist dieser allgemeine, sporadische Alias Error immer noch da. Schade.

          2022-11-05 07:19:34.891 - error: admin.0 (516) Alias subscription error. Please check your alias definitions: sourceId=zigbee.0.00158d0003e57190.transition_time, sourceObj={"type":"state","common":{"name":"Transition time","type":"number","unit":"sec","read":false,"write":true,"role":"state"},"native":{},"from":"system.adapter.zigbee.0","user":"system.user.admin","ts":1653374903543,"_id":"zigbee.0.00158d0003e57190.transition_time","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
          2022-11-05 07:19:34.891 - error: admin.0 (516) Alias subscription error. Please check your alias definitions: sourceId=zigbee.0.00158d0003e57190.available, sourceObj={"type":"state","common":{"name":"Available","type":"boolean","read":true,"write":false,"role":"state"},"native":{},"from":"system.adapter.zigbee.0","user":"system.user.admin","ts":1653374903521,"_id":"zigbee.0.00158d0003e57190.available","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
          
          apollon77A Offline
          apollon77A Offline
          apollon77
          schrieb am zuletzt editiert von
          #31

          @marty56 Am Ende wegen dem Fehler wieder die Frage: Kannst du klar reprduzieren wann und warum es kommt?

          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
          M 1 Antwort Letzte Antwort
          0
          • apollon77A apollon77

            @marty56 Am Ende wegen dem Fehler wieder die Frage: Kannst du klar reprduzieren wann und warum es kommt?

            M Offline
            M Offline
            Marty56
            schrieb am zuletzt editiert von
            #32

            @apollon77
            Ich habe nochmal ein bisschen geforscht.

            Ich habe 380 Aliases. Davon sind 308 direkt unter alias.0.
            Die anderen 80 sind in Unterverzeichnissen.
            Alle Aliases, die in Unterverzeichnissen gespeichert sind, kommen in den Error Logs nicht vor, die anderen 308 werden alle als Error geloggt.

            Vielleicht hängt es mit der Menge der Aliases zusammen, die unter einem Verzeichnis gespeichert werden können.

            HW:NUC (16 GB Ram)
            OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

            apollon77A 1 Antwort Letzte Antwort
            0
            • M Marty56

              @apollon77
              Ich habe nochmal ein bisschen geforscht.

              Ich habe 380 Aliases. Davon sind 308 direkt unter alias.0.
              Die anderen 80 sind in Unterverzeichnissen.
              Alle Aliases, die in Unterverzeichnissen gespeichert sind, kommen in den Error Logs nicht vor, die anderen 308 werden alle als Error geloggt.

              Vielleicht hängt es mit der Menge der Aliases zusammen, die unter einem Verzeichnis gespeichert werden können.

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

              @marty56 Menge sollte nicht ... Auch die Lokation sollte an sich egal sein ... und mit nem adapterstart von dem Adapter der meckert ists wider weg für ne weile, korrekt?

              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
              M Pedder007P 2 Antworten Letzte Antwort
              0
              • apollon77A apollon77

                @marty56 Menge sollte nicht ... Auch die Lokation sollte an sich egal sein ... und mit nem adapterstart von dem Adapter der meckert ists wider weg für ne weile, korrekt?

                M Offline
                M Offline
                Marty56
                schrieb am zuletzt editiert von
                #34

                @apollon77

                Es kommt bei mir unregelmäßig, so ca. 1 -2 pro Tag.
                Ich kann es nicht mit einem Adapterstart in Zusammenhang bringen.

                HW:NUC (16 GB Ram)
                OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                1 Antwort Letzte Antwort
                0
                • apollon77A apollon77

                  @marty56 Menge sollte nicht ... Auch die Lokation sollte an sich egal sein ... und mit nem adapterstart von dem Adapter der meckert ists wider weg für ne weile, korrekt?

                  Pedder007P Offline
                  Pedder007P Offline
                  Pedder007
                  schrieb am zuletzt editiert von Pedder007
                  #35

                  @apollon77, ich hänge mich hier mal mit dran, da das 'Problem' (hat bisher keinen Einfluss auf irgendwelche Funktionalitäten), bei mir auch auftritt:
                  Fehlermeldung, z. B.:

                  Alias subscription error. Please check your alias definitions: sourceId=deconz.0.Lights.58.on, sourceObj={"type":"state","common":{"name":"BlitzPlug05 AL on","type":"boolean","role":"switch","read":true,"write":true},"native":{},"from":"system.adapter.deconz.0","user":"system.user.admin","ts":1653067264363,"_id":"deconz.0.Lights.58.on","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}}
                  

                  oder auch:

                  Alias subscription error. Please check your alias definitions: sourceId=deconz.0.Sensors.87.consumption, sourceObj={"type":"state","common":{"name":"Consumption 87 consumption","type":"number","role":"value.power.consumption","read":true,"write":false,"unit":"Wh","def":0},"native":{},"from":"system.adapter.deconz.0","user":"system.user.admin","ts":1653210287074,"_id":"deconz.0.Sensors.87.consumption","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
                  

                  Ich habe zwar (noch) nicht so viele Aliase, aber auch eine eigene Struktur in den Aliasen angelegt, da ich da sonst nichts wiederfinde ;-)
                  Also neben:
                  alias.0.[Ein Alias]

                  auch so etwas wie:
                  alias.Licht.[[verschiedene Aliase]
                  alias.Remote.[versch. Aliase)
                  alias.Schalt.[versch. Aliase]
                  usw.

                  Ich stelle die Fehlermeldungen meist fest, wenn ich irgendwas an meinen Blocklys editiert habe, oder aber auch, wie gerade eben, wenn ich ein paar überflüssig gewordene Variablen gelöscht habe (Umzug von javascript.0.[ordner].[irgendwas] nach '0_userdata.0.[ordner].[irgendwas]).
                  Allerdings hatten diese Änderungen rein gar nichts mit den im Log angezeigten Alias-Fehlermeldungen zu tun.

                  Ohne jegliches Zutun scheinen die Meldungen nicht zu kommen, zumindest habe ich das bisher bei sporadischen Blicken aufs Log nicht feststellen können.

                  Ein Gedanke: Müsste ich meine Aliasstruktur evtl. eine Ebene tiefer hängen? - also immer zusätzlich noch ein '.0.' einschieben?

                  Pedder
                  All @Proxmox/Bookworm auf HP Elitedesk 800 G4; Zigbee: ZigStar (LAN), ~110Devices
                  Unifi, Motioneye/3Reolinks, PiHole, Bosch 7800i via BBQKees/EMS-ESP, Fronius/BYD 11kWp via Modbus

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • Pedder007P Pedder007

                    @apollon77, ich hänge mich hier mal mit dran, da das 'Problem' (hat bisher keinen Einfluss auf irgendwelche Funktionalitäten), bei mir auch auftritt:
                    Fehlermeldung, z. B.:

                    Alias subscription error. Please check your alias definitions: sourceId=deconz.0.Lights.58.on, sourceObj={"type":"state","common":{"name":"BlitzPlug05 AL on","type":"boolean","role":"switch","read":true,"write":true},"native":{},"from":"system.adapter.deconz.0","user":"system.user.admin","ts":1653067264363,"_id":"deconz.0.Lights.58.on","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}}
                    

                    oder auch:

                    Alias subscription error. Please check your alias definitions: sourceId=deconz.0.Sensors.87.consumption, sourceObj={"type":"state","common":{"name":"Consumption 87 consumption","type":"number","role":"value.power.consumption","read":true,"write":false,"unit":"Wh","def":0},"native":{},"from":"system.adapter.deconz.0","user":"system.user.admin","ts":1653210287074,"_id":"deconz.0.Sensors.87.consumption","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}
                    

                    Ich habe zwar (noch) nicht so viele Aliase, aber auch eine eigene Struktur in den Aliasen angelegt, da ich da sonst nichts wiederfinde ;-)
                    Also neben:
                    alias.0.[Ein Alias]

                    auch so etwas wie:
                    alias.Licht.[[verschiedene Aliase]
                    alias.Remote.[versch. Aliase)
                    alias.Schalt.[versch. Aliase]
                    usw.

                    Ich stelle die Fehlermeldungen meist fest, wenn ich irgendwas an meinen Blocklys editiert habe, oder aber auch, wie gerade eben, wenn ich ein paar überflüssig gewordene Variablen gelöscht habe (Umzug von javascript.0.[ordner].[irgendwas] nach '0_userdata.0.[ordner].[irgendwas]).
                    Allerdings hatten diese Änderungen rein gar nichts mit den im Log angezeigten Alias-Fehlermeldungen zu tun.

                    Ohne jegliches Zutun scheinen die Meldungen nicht zu kommen, zumindest habe ich das bisher bei sporadischen Blicken aufs Log nicht feststellen können.

                    Ein Gedanke: Müsste ich meine Aliasstruktur evtl. eine Ebene tiefer hängen? - also immer zusätzlich noch ein '.0.' einschieben?

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

                    @pedder007 sagte: alias.Licht.[[verschiedene Aliase]

                    Alle Alias-Objekte müssen unter "alias.0" erstellt werden. Im Tab "Objekte" geht es auch nicht anders. Wie hast Du sie erstellt?

                    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

                    Pedder007P 2 Antworten Letzte Antwort
                    0
                    • paul53P paul53

                      @pedder007 sagte: alias.Licht.[[verschiedene Aliase]

                      Alle Alias-Objekte müssen unter "alias.0" erstellt werden. Im Tab "Objekte" geht es auch nicht anders. Wie hast Du sie erstellt?

                      Pedder007P Offline
                      Pedder007P Offline
                      Pedder007
                      schrieb am zuletzt editiert von
                      #37

                      @paul53 danke, das ging schnell :-)

                      Wie meinst Du das genau?
                      Muss ich die '.0.' immer dazwischen haben, oder müssen ALLE Aliase immer direkt unter '.0.' definiert sein?
                      Weil wenn letzteres, also ohne weitere Zwischenebene (Kategorisierung), wird das aber schnell extrem unübersichtlich.

                      Pedder
                      All @Proxmox/Bookworm auf HP Elitedesk 800 G4; Zigbee: ZigStar (LAN), ~110Devices
                      Unifi, Motioneye/3Reolinks, PiHole, Bosch 7800i via BBQKees/EMS-ESP, Fronius/BYD 11kWp via Modbus

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @pedder007 sagte: alias.Licht.[[verschiedene Aliase]

                        Alle Alias-Objekte müssen unter "alias.0" erstellt werden. Im Tab "Objekte" geht es auch nicht anders. Wie hast Du sie erstellt?

                        Pedder007P Offline
                        Pedder007P Offline
                        Pedder007
                        schrieb am zuletzt editiert von
                        #38

                        @paul53 said in Javascript 6.1.0 - Neue Funktionen (Beta):

                        Wie hast Du sie erstellt?

                        über die Umbenennungs-Funktion, bzw. dann später einfach kopiert und auf andere Objekte umdefiniert

                        Pedder
                        All @Proxmox/Bookworm auf HP Elitedesk 800 G4; Zigbee: ZigStar (LAN), ~110Devices
                        Unifi, Motioneye/3Reolinks, PiHole, Bosch 7800i via BBQKees/EMS-ESP, Fronius/BYD 11kWp via Modbus

                        1 Antwort Letzte Antwort
                        0
                        • Pedder007P Pedder007

                          @paul53 danke, das ging schnell :-)

                          Wie meinst Du das genau?
                          Muss ich die '.0.' immer dazwischen haben, oder müssen ALLE Aliase immer direkt unter '.0.' definiert sein?
                          Weil wenn letzteres, also ohne weitere Zwischenebene (Kategorisierung), wird das aber schnell extrem unübersichtlich.

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

                          @pedder007 sagte: Muss ich die '.0.' immer dazwischen haben

                          Ja.

                          @pedder007 sagte in Javascript 6.1.0 - Neue Funktionen (Beta):

                          müssen ALLE Aliase immer direkt unter '.0.' definiert sein?

                          Nein, möglichst keine: Immer eine Objektstruktur verwenden!

                          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

                          Pedder007P 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @pedder007 sagte: Muss ich die '.0.' immer dazwischen haben

                            Ja.

                            @pedder007 sagte in Javascript 6.1.0 - Neue Funktionen (Beta):

                            müssen ALLE Aliase immer direkt unter '.0.' definiert sein?

                            Nein, möglichst keine: Immer eine Objektstruktur verwenden!

                            Pedder007P Offline
                            Pedder007P Offline
                            Pedder007
                            schrieb am zuletzt editiert von Pedder007
                            #40

                            @paul53 ok, Gott sei Dank :cold_sweat:
                            Sonst würde ich da gar nichts mehr finden ;-)
                            Dann mache ich mich mal daran das alles eine Ebene tiefer zu hängen und hoffe, dass das, das Alias-Fehlerproblem behebt.
                            Besser jetzt, als wäre ich schon komplett durch damit.

                            Es lebe die '0'.

                            Danke Dir @paul53!

                            Pedder
                            All @Proxmox/Bookworm auf HP Elitedesk 800 G4; Zigbee: ZigStar (LAN), ~110Devices
                            Unifi, Motioneye/3Reolinks, PiHole, Bosch 7800i via BBQKees/EMS-ESP, Fronius/BYD 11kWp via Modbus

                            1 Antwort Letzte Antwort
                            0
                            • apollon77A apollon77

                              Hallo alle zusammen,

                              im Laufe des Tages sollte JavaScript 6.1.0 im Beta Repository auftauchen und bringt neben Fehlerbehebungen ein paar Neuigkeiten mit über die ich gern Informieren möchte:

                              Schutz vor Amoklaufenden Skripten

                              In letzter Zeit hatten wir häufiger Supportfälle wogesamte ioBroker Systeme sehr unresponsive/langsam wurden. Ursache waren mehrfach "Amok laufende Skripte", die durch Fehler einfach massive viele State Werte gesetzt haben.

                              Der JavaScript Adapter überwacht ab sofort die Anzahl der setState pro Skript und wenn dies pro Minute mehr als 1000 sind (der Wert ist global im Adapter konfigurierbar) - 1000/Min sind 16 pro Sekunde - wird das Skript beendet! Ein Fehler wird geloggt.

                              Technisch wird auch nicht direkt bei der "ersten Minute" das Skript beendet sondern erst wenn es 2 aufeinanderfolgende Minuten mehr als 1000 waren, um zB größere Skripte die viele Dinge beim Start tun nicht direkt wieder abzuschiessen.

                              Wem 1000 zu wenig ist kann dies ändern in der Adapter-Konfiguration.

                              Ich denke mit solch einem Schutz sollten wir in der Zukunft solche Probleme vermeiden

                              createState Methode

                              Auf vielfachen Wunsch gibt es jetzt eine createAlias Methode analog zu createState.
                              Doku: https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#createalias

                              Im einfachsten Fall bekommt diese Methode nur die ID des Ursprungsobjekts und übernimmt auch die Common Werte von diesem. Weiterhin können aber auch alle anderen Varianten (read/write IDs mit Funktions angegeben werden oder common (partiell) mit einem angegebenen Objekt überschrieben werden.

                              setStateDelayed im Selector

                              setStateDelayed ist nun auch als Methode im Selector verfügbar

                              exec hat "options" Objekt

                              Mit dem Options Objekt, welches direkt an nodejs durchgegeben wird können für exec's weitere Einstellungen vorgenommen werden.
                              Was geht steht hier: https://nodejs.org/api/child_process.html#child_processexeccommand-options-callback

                              Viel Spass mit der neuen Version und Feedback dazu bitte gern hier im Thread.

                              Ingo

                              FabioF Offline
                              FabioF Offline
                              Fabio
                              schrieb am zuletzt editiert von
                              #41

                              @apollon77 Danke schön, bin jetzt auf v6.1.3 läuft alles top bis jetzt.:+1:
                              Grüße
                              Fabio

                              Iobroker:

                              • Für mich persöhnlich, gibt es nichts besseres, ich liebe es.

                              • Das hat unser Smarthome erst zu Smarthome gemacht.

                              • Du wächst mit ioBroker und ioBroker wächst mit dir.

                              • Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              L 1 Antwort Letzte Antwort
                              0
                              • FabioF Fabio

                                @apollon77 Danke schön, bin jetzt auf v6.1.3 läuft alles top bis jetzt.:+1:
                                Grüße
                                Fabio

                                L Offline
                                L Offline
                                Labersack
                                schrieb am zuletzt editiert von Labersack
                                #42

                                Ich habe mir einen Alias für die Helligkeitssteuerung der Tablets gemacht. Da über den FullyAdapter Read und Write verschiedene DPs sind, verwende ich dafür

                                createAlias('0_Test.Maverick.Helligkeit', {id: {read: 'fullybrowser.0.10_1_2_103.Info.screenBrightness', write: 'fullybrowser.0.10_1_2_103.Commands.screenBrightness'}},ForceCreate, 
                                {   type: "number",
                                    unit: "%"
                                });
                                
                                

                                (ForceCreate ist eine vorher gesetzte Variable, momentan auf true)
                                Das klappt bis dahin auch gut und die Helligkeit lässt sich steuern und anzeigen. Allerdings ist die Helligkeit hier 0-255, ich hätte aber gerne 0-100%. Also muss ich nach meinem Verständnis noch

                                read: "val/2.55",
                                write: "val*2.55"
                                

                                einfügen. Aber an welcher Stelle genau? Meine Versuche bis jetzt mit verschiedenen Positionen waren erfolglos.

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • L Labersack

                                  Ich habe mir einen Alias für die Helligkeitssteuerung der Tablets gemacht. Da über den FullyAdapter Read und Write verschiedene DPs sind, verwende ich dafür

                                  createAlias('0_Test.Maverick.Helligkeit', {id: {read: 'fullybrowser.0.10_1_2_103.Info.screenBrightness', write: 'fullybrowser.0.10_1_2_103.Commands.screenBrightness'}},ForceCreate, 
                                  {   type: "number",
                                      unit: "%"
                                  });
                                  
                                  

                                  (ForceCreate ist eine vorher gesetzte Variable, momentan auf true)
                                  Das klappt bis dahin auch gut und die Helligkeit lässt sich steuern und anzeigen. Allerdings ist die Helligkeit hier 0-255, ich hätte aber gerne 0-100%. Also muss ich nach meinem Verständnis noch

                                  read: "val/2.55",
                                  write: "val*2.55"
                                  

                                  einfügen. Aber an welcher Stelle genau? Meine Versuche bis jetzt mit verschiedenen Positionen waren erfolglos.

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

                                  @labersack sagte: Aber an welcher Stelle genau?

                                  Unter common.alias:

                                    "alias": {
                                      "id": {
                                        "read": "fullybrowser.0.10_1_2_103.Info.screenBrightness",
                                        "write": "fullybrowser.0.10_1_2_103.Commands.screenBrightness"
                                      },
                                      "read": "val/2.55",
                                      "write": "val*2.55"
                                    }
                                  

                                  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

                                  L 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @labersack sagte: Aber an welcher Stelle genau?

                                    Unter common.alias:

                                      "alias": {
                                        "id": {
                                          "read": "fullybrowser.0.10_1_2_103.Info.screenBrightness",
                                          "write": "fullybrowser.0.10_1_2_103.Commands.screenBrightness"
                                        },
                                        "read": "val/2.55",
                                        "write": "val*2.55"
                                      }
                                    
                                    L Offline
                                    L Offline
                                    Labersack
                                    schrieb am zuletzt editiert von
                                    #44

                                    @paul53
                                    Ja, als Ergebnis.
                                    Nur wo im createAlias-Befehl?

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • L Labersack

                                      @paul53
                                      Ja, als Ergebnis.
                                      Nur wo im createAlias-Befehl?

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

                                      @labersack sagte: wo im createAlias-Befehl?

                                      createAlias('0_Test.Maverick.Helligkeit', {
                                          id: {
                                              read: 'fullybrowser.0.10_1_2_103.Info.screenBrightness', 
                                              write: 'fullybrowser.0.10_1_2_103.Commands.screenBrightness'
                                          },
                                          read: "val/2.55",
                                          write: "val*2.55"
                                      }, ForceCreate, {   
                                          type: "number",
                                          unit: "%"
                                      });
                                      

                                      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

                                      L 1 Antwort Letzte Antwort
                                      1
                                      • paul53P paul53

                                        @labersack sagte: wo im createAlias-Befehl?

                                        createAlias('0_Test.Maverick.Helligkeit', {
                                            id: {
                                                read: 'fullybrowser.0.10_1_2_103.Info.screenBrightness', 
                                                write: 'fullybrowser.0.10_1_2_103.Commands.screenBrightness'
                                            },
                                            read: "val/2.55",
                                            write: "val*2.55"
                                        }, ForceCreate, {   
                                            type: "number",
                                            unit: "%"
                                        });
                                        
                                        L Offline
                                        L Offline
                                        Labersack
                                        schrieb am zuletzt editiert von Labersack
                                        #46

                                        @paul53
                                        Das hatte ich auch schon probiert, damit klappt es teilweise.
                                        Es wird die Struktur wie aus deinem vorletzten Post erzeugt.
                                        Setzten des Alias auf 50 setzt ...Commands.brightness auf 127,5, bis dahin wie gewünscht.
                                        Im ...Info.screenBrightness steht aber dann 10 und vermutlich dadurch im alias 3,921...%
                                        Das Tablett selber schaltet übrigens auf ziemlich Dunkel, also das ist eher 10 als 127,5 (von 255).

                                        apollon77A 1 Antwort Letzte Antwort
                                        0
                                        • L Labersack

                                          @paul53
                                          Das hatte ich auch schon probiert, damit klappt es teilweise.
                                          Es wird die Struktur wie aus deinem vorletzten Post erzeugt.
                                          Setzten des Alias auf 50 setzt ...Commands.brightness auf 127,5, bis dahin wie gewünscht.
                                          Im ...Info.screenBrightness steht aber dann 10 und vermutlich dadurch im alias 3,921...%
                                          Das Tablett selber schaltet übrigens auf ziemlich Dunkel, also das ist eher 10 als 127,5 (von 255).

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

                                          @labersack muss da vllt noch ein Math.floor() dazu? Weil ich eher annehme das kommawerte nicht unterstützt sind. Sind es vllt genau die kommawerte die das Problem sind?

                                          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
                                          L 1 Antwort Letzte Antwort
                                          1
                                          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

                                          818

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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