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.9k

Javascript 6.1.0 - Neue Funktionen (Beta)

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
52 Beiträge 11 Kommentatoren 6.5k 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.
  • 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
            • apollon77A apollon77

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

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

              @apollon77
              Tatsächlich hat der Adapter mit Probleme mit Dezimalwerten: wenn ich in den direkten DP vom Adapter 127.5 schreibe, setzt er die Helligkeit auch auf falsche Werte.
              Ich habe den Alias deswegen auf math.Round angepasst, trotzdem kann ich über den Alias nicht die Helligkeit korrekt steuern, sobald ich auf Prozent umrechne. Wenn ich als Wert 0-255 belasse, klappt es einwandfrei.
              Zusätzliche Schwierigkeit könnte auch sein, dass die Rückmeldung in INFO bis zu 10 Sekunden nach Setzten des COMMANDS kommt, also nicht wegen Alias, sondern bei dem Adapter an sich. Man kann die Zeit im Adapter zwar auch kürzer einstellen, aber das habe ich aus Erfahrungen der Vergangenheit auf 10s stehen.

              Wenn ich den DP wie folgt erstellen lasse:

              {
                "common": {
                  "type": "number",
                  "unit": "%",
                  "alias": {
                    "id": {
                      "read": "fullybrowser.0.10_1_2_103.Info.screenBrightness",
                      "write": "fullybrowser.0.10_1_2_103.Commands.screenBrightness"
                    },
                    "read": "math.Round(val/2.55)",
                    "write": "math.Round(val*2.55)"
                  },
                  "name": "screenBrightness",
                  "role": "value"
                },
                "native": {},
                "type": "state",
                "from": "system.adapter.javascript.0",
                "user": "system.user.admin",
                "ts": 1671117642794,
                "_id": "alias.0.0_Test.Maverick.Helligkeit",
                "acl": {
                  "object": 1636,
                  "state": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                }
              }
              

              Dann kann ich nichts steuern. Gesetzte Werte im Alias werden nicht nach COMMANDS geschrieben. Auch direkt in den DP COMMANDS geschriebene Werte kommen nicht im Alias an, aber steuern die Helligkieit und kommen nach ein paar Sekunden in INFO.

              Ohne math.Round oder math.Floor klappt es, aber eben mit falschen Werten. Habe ich noch einen Syntax-Fehler beim Runden? Sieht für mich eigentlich richtig aus....

              apollon77A paul53P 2 Antworten Letzte Antwort
              0
              • L Labersack

                @apollon77
                Tatsächlich hat der Adapter mit Probleme mit Dezimalwerten: wenn ich in den direkten DP vom Adapter 127.5 schreibe, setzt er die Helligkeit auch auf falsche Werte.
                Ich habe den Alias deswegen auf math.Round angepasst, trotzdem kann ich über den Alias nicht die Helligkeit korrekt steuern, sobald ich auf Prozent umrechne. Wenn ich als Wert 0-255 belasse, klappt es einwandfrei.
                Zusätzliche Schwierigkeit könnte auch sein, dass die Rückmeldung in INFO bis zu 10 Sekunden nach Setzten des COMMANDS kommt, also nicht wegen Alias, sondern bei dem Adapter an sich. Man kann die Zeit im Adapter zwar auch kürzer einstellen, aber das habe ich aus Erfahrungen der Vergangenheit auf 10s stehen.

                Wenn ich den DP wie folgt erstellen lasse:

                {
                  "common": {
                    "type": "number",
                    "unit": "%",
                    "alias": {
                      "id": {
                        "read": "fullybrowser.0.10_1_2_103.Info.screenBrightness",
                        "write": "fullybrowser.0.10_1_2_103.Commands.screenBrightness"
                      },
                      "read": "math.Round(val/2.55)",
                      "write": "math.Round(val*2.55)"
                    },
                    "name": "screenBrightness",
                    "role": "value"
                  },
                  "native": {},
                  "type": "state",
                  "from": "system.adapter.javascript.0",
                  "user": "system.user.admin",
                  "ts": 1671117642794,
                  "_id": "alias.0.0_Test.Maverick.Helligkeit",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  }
                }
                

                Dann kann ich nichts steuern. Gesetzte Werte im Alias werden nicht nach COMMANDS geschrieben. Auch direkt in den DP COMMANDS geschriebene Werte kommen nicht im Alias an, aber steuern die Helligkieit und kommen nach ein paar Sekunden in INFO.

                Ohne math.Round oder math.Floor klappt es, aber eben mit falschen Werten. Habe ich noch einen Syntax-Fehler beim Runden? Sieht für mich eigentlich richtig aus....

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

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

                Ich habe den Alias deswegen auf math.Round angepasst, trotzdem kann ich über den Alias nicht die Helligkeit korrekt steuern, sobald ich auf Prozent umrechne. Wenn ich als Wert 0-255 belasse, klappt es einwandfrei.

                Und warum nicht?

                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
                • L Labersack

                  @apollon77
                  Tatsächlich hat der Adapter mit Probleme mit Dezimalwerten: wenn ich in den direkten DP vom Adapter 127.5 schreibe, setzt er die Helligkeit auch auf falsche Werte.
                  Ich habe den Alias deswegen auf math.Round angepasst, trotzdem kann ich über den Alias nicht die Helligkeit korrekt steuern, sobald ich auf Prozent umrechne. Wenn ich als Wert 0-255 belasse, klappt es einwandfrei.
                  Zusätzliche Schwierigkeit könnte auch sein, dass die Rückmeldung in INFO bis zu 10 Sekunden nach Setzten des COMMANDS kommt, also nicht wegen Alias, sondern bei dem Adapter an sich. Man kann die Zeit im Adapter zwar auch kürzer einstellen, aber das habe ich aus Erfahrungen der Vergangenheit auf 10s stehen.

                  Wenn ich den DP wie folgt erstellen lasse:

                  {
                    "common": {
                      "type": "number",
                      "unit": "%",
                      "alias": {
                        "id": {
                          "read": "fullybrowser.0.10_1_2_103.Info.screenBrightness",
                          "write": "fullybrowser.0.10_1_2_103.Commands.screenBrightness"
                        },
                        "read": "math.Round(val/2.55)",
                        "write": "math.Round(val*2.55)"
                      },
                      "name": "screenBrightness",
                      "role": "value"
                    },
                    "native": {},
                    "type": "state",
                    "from": "system.adapter.javascript.0",
                    "user": "system.user.admin",
                    "ts": 1671117642794,
                    "_id": "alias.0.0_Test.Maverick.Helligkeit",
                    "acl": {
                      "object": 1636,
                      "state": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    }
                  }
                  

                  Dann kann ich nichts steuern. Gesetzte Werte im Alias werden nicht nach COMMANDS geschrieben. Auch direkt in den DP COMMANDS geschriebene Werte kommen nicht im Alias an, aber steuern die Helligkieit und kommen nach ein paar Sekunden in INFO.

                  Ohne math.Round oder math.Floor klappt es, aber eben mit falschen Werten. Habe ich noch einen Syntax-Fehler beim Runden? Sieht für mich eigentlich richtig aus....

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

                  @labersack sagte: Habe ich noch einen Syntax-Fehler beim Runden?

                  Ja.

                  Math.round
                  

                  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: Habe ich noch einen Syntax-Fehler beim Runden?

                    Ja.

                    Math.round
                    
                    L Offline
                    L Offline
                    Labersack
                    schrieb am zuletzt editiert von Labersack
                    #51

                    @paul53
                    :man-facepalming:
                    Au Mann, groß/klein falschrum. Doof Ich.

                    Kaum macht man's richtig, schon funktioniert's.
                    Danke.

                    Das Problem war also tatsächlich dass der Adapter mit Dezimalzahlen nicht klarkommt, und die Lösung war das Runden auf Ganzzahlen (was auch funktioniert, wenn man Groß-/Kleinschreibung korrekt anwendet).

                    apollon77A 1 Antwort Letzte Antwort
                    0
                    • L Labersack

                      @paul53
                      :man-facepalming:
                      Au Mann, groß/klein falschrum. Doof Ich.

                      Kaum macht man's richtig, schon funktioniert's.
                      Danke.

                      Das Problem war also tatsächlich dass der Adapter mit Dezimalzahlen nicht klarkommt, und die Lösung war das Runden auf Ganzzahlen (was auch funktioniert, wenn man Groß-/Kleinschreibung korrekt anwendet).

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

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

                      Das Problem war also tatsächlich dass der Adapter mit Dezimalzahlen nicht klarkommt, und die Lösung war das Runden auf Ganzzahlen (was auch funktioniert, wenn man Groß-/Kleinschreibung korrekt anwendet).

                      Dann gern ein issue anlegen beim Adapter, da kann der Dev was tun

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

                      796

                      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