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. Skripten / Logik
  4. Min/Max "Dimmer-Range" in "0-100% Dim-Level" umrechnen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    5
    1
    44

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Min/Max "Dimmer-Range" in "0-100% Dim-Level" umrechnen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascripttemplate
37 Beiträge 4 Kommentatoren 3.3k Aufrufe 1 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.
  • Michael DolpM Offline
    Michael DolpM Offline
    Michael Dolp
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich bin neu hier und von FHEM auf IOBroker umgestiegen, weil ich im Coden nicht ganz so fit bin und mir IOBroker mehr Möglichkeiten zur Visualisierung bereitstellt. Nun stellt sich mir aufgrund des Lastbereichs gerade folgendes Problem mit meinen HM-LC-Dim1L-CV Dimmern in Kombi mit LED Leuchtmitteln.

    Einige HomeMatic Dimmer laufen bei mir erst ab beispielsweise 12% an und hören bei 80% auf. Die Möglichkeiten dies in z.B. VIS mit dem Minimum Level zu berücksichtigten sind mir bekannt.
    Sobald man jedoch mit Alexa arbeitet, wird dieser suboptimale Ansatz zum Problem, da Alexa bei z.B. "Dimme auf 2%" auch meine HM Dimmer auf 2% setzt, wodurch diese abschalten.
    Auch in VIS finde ich eine "Begrenzung" nicht ideal, da ein "Dimmer Objekt" nun mal bei 0% anfangen und bei 100% aufhören sollte. Ob dies nun tatsächlich 12-80% entspricht sollte am Steuerungs-Objekt selbst keine Rolle spielen, da sonst der Sinn und die Übersichtlichkeit leidet, denn am Ende sollte 1% das Minimum und 100% das Maximum sein um eine Vollwertige Lösung zu bekommen.

    In FHEM wird dies sehr elegant umgesetzt, indem man einfach am Device den Dim-Min und Dim-Max wert setzt und FHEM diesen selbständig in eine homogene 0-100% Range umrechnet mit welcher das System von der Basis aus arbeitet. So wird das ganze bereits im Ansatz logisch und funktionell gelöst.

    So wie ich das sehe benötige ich im IOBroker zu diesem Zweck wohl ein Alias bzw. einen zusätzlichen Datenpunkt für die entsprechenden Dimmer, mit welchem ich die Range entsprechend umrechnen kann oder? (Ist natürlich auch kein Problem und ebenfalls elegant wen man fit im Scripten ist.)

    Mein eigentliches Problem ist also - wie sieht die Umrechnung bzw. der Datenpunkt der "angepassten-Range" in die volle "interpolierte-Range" aus?

    Also z.B.
    (Min-Level) aus 12% wird > 0%
    (Max_Level) aus 80% wird > 100%

    Bzw.
    Alias-LEVEL: 0% <=> hm-rpc.0.NEQ0044188.1.LEVEL: 12%
    Alias-LEVEL: 100% <=> hm-rpc.0.NEQ0044188.1.LEVEL: 80%

    Es soll also ein Datenpunkt entstehen, welcher von 0-100% geregelt werden kann und auf das eigentliche Device von 12-80% schreibt/liest. Also eine Vollwertige 0-100% Regelung, welche das min. von 12% und das max. von 80% umrechnet/berücksichtigt.

    Für einen Script-Ansatz wäre ich Euch sehr dankbar, den hierfür reicht der Dreisatz wohl nicht mehr aus.

    Grüße

    Michael

    "So lange es nicht Heizen muss, geht es am besten mit Shelly`s"
    1x IOBroker on QNAP Ts253A - ( Docker/buanet )
    1x FHEM on QNAP ( VM 1 Core / 2GB RAM )
    1x Raspberymatic / ELV-Charly ( RPI 3 )
    1x Raspbee ( RPI 2 )
    1x Repetier Server - 6 Drucker ( RPI 4 )

    HomoranH paul53P 2 Antworten Letzte Antwort
    0
    • Michael DolpM Michael Dolp

      Hallo,

      ich bin neu hier und von FHEM auf IOBroker umgestiegen, weil ich im Coden nicht ganz so fit bin und mir IOBroker mehr Möglichkeiten zur Visualisierung bereitstellt. Nun stellt sich mir aufgrund des Lastbereichs gerade folgendes Problem mit meinen HM-LC-Dim1L-CV Dimmern in Kombi mit LED Leuchtmitteln.

      Einige HomeMatic Dimmer laufen bei mir erst ab beispielsweise 12% an und hören bei 80% auf. Die Möglichkeiten dies in z.B. VIS mit dem Minimum Level zu berücksichtigten sind mir bekannt.
      Sobald man jedoch mit Alexa arbeitet, wird dieser suboptimale Ansatz zum Problem, da Alexa bei z.B. "Dimme auf 2%" auch meine HM Dimmer auf 2% setzt, wodurch diese abschalten.
      Auch in VIS finde ich eine "Begrenzung" nicht ideal, da ein "Dimmer Objekt" nun mal bei 0% anfangen und bei 100% aufhören sollte. Ob dies nun tatsächlich 12-80% entspricht sollte am Steuerungs-Objekt selbst keine Rolle spielen, da sonst der Sinn und die Übersichtlichkeit leidet, denn am Ende sollte 1% das Minimum und 100% das Maximum sein um eine Vollwertige Lösung zu bekommen.

      In FHEM wird dies sehr elegant umgesetzt, indem man einfach am Device den Dim-Min und Dim-Max wert setzt und FHEM diesen selbständig in eine homogene 0-100% Range umrechnet mit welcher das System von der Basis aus arbeitet. So wird das ganze bereits im Ansatz logisch und funktionell gelöst.

      So wie ich das sehe benötige ich im IOBroker zu diesem Zweck wohl ein Alias bzw. einen zusätzlichen Datenpunkt für die entsprechenden Dimmer, mit welchem ich die Range entsprechend umrechnen kann oder? (Ist natürlich auch kein Problem und ebenfalls elegant wen man fit im Scripten ist.)

      Mein eigentliches Problem ist also - wie sieht die Umrechnung bzw. der Datenpunkt der "angepassten-Range" in die volle "interpolierte-Range" aus?

      Also z.B.
      (Min-Level) aus 12% wird > 0%
      (Max_Level) aus 80% wird > 100%

      Bzw.
      Alias-LEVEL: 0% <=> hm-rpc.0.NEQ0044188.1.LEVEL: 12%
      Alias-LEVEL: 100% <=> hm-rpc.0.NEQ0044188.1.LEVEL: 80%

      Es soll also ein Datenpunkt entstehen, welcher von 0-100% geregelt werden kann und auf das eigentliche Device von 12-80% schreibt/liest. Also eine Vollwertige 0-100% Regelung, welche das min. von 12% und das max. von 80% umrechnet/berücksichtigt.

      Für einen Script-Ansatz wäre ich Euch sehr dankbar, den hierfür reicht der Dreisatz wohl nicht mehr aus.

      Grüße

      Michael

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      @Michael-Dolp Nicht das was du willst, aber auch eine Lösung wäre:
      https://download.gira.de/data3/PI_Kompensationsmodul_DE.pdf

      Habe es selber nicht, aber nur gutes davon gehört

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      Michael DolpM 1 Antwort Letzte Antwort
      1
      • Michael DolpM Michael Dolp

        Hallo,

        ich bin neu hier und von FHEM auf IOBroker umgestiegen, weil ich im Coden nicht ganz so fit bin und mir IOBroker mehr Möglichkeiten zur Visualisierung bereitstellt. Nun stellt sich mir aufgrund des Lastbereichs gerade folgendes Problem mit meinen HM-LC-Dim1L-CV Dimmern in Kombi mit LED Leuchtmitteln.

        Einige HomeMatic Dimmer laufen bei mir erst ab beispielsweise 12% an und hören bei 80% auf. Die Möglichkeiten dies in z.B. VIS mit dem Minimum Level zu berücksichtigten sind mir bekannt.
        Sobald man jedoch mit Alexa arbeitet, wird dieser suboptimale Ansatz zum Problem, da Alexa bei z.B. "Dimme auf 2%" auch meine HM Dimmer auf 2% setzt, wodurch diese abschalten.
        Auch in VIS finde ich eine "Begrenzung" nicht ideal, da ein "Dimmer Objekt" nun mal bei 0% anfangen und bei 100% aufhören sollte. Ob dies nun tatsächlich 12-80% entspricht sollte am Steuerungs-Objekt selbst keine Rolle spielen, da sonst der Sinn und die Übersichtlichkeit leidet, denn am Ende sollte 1% das Minimum und 100% das Maximum sein um eine Vollwertige Lösung zu bekommen.

        In FHEM wird dies sehr elegant umgesetzt, indem man einfach am Device den Dim-Min und Dim-Max wert setzt und FHEM diesen selbständig in eine homogene 0-100% Range umrechnet mit welcher das System von der Basis aus arbeitet. So wird das ganze bereits im Ansatz logisch und funktionell gelöst.

        So wie ich das sehe benötige ich im IOBroker zu diesem Zweck wohl ein Alias bzw. einen zusätzlichen Datenpunkt für die entsprechenden Dimmer, mit welchem ich die Range entsprechend umrechnen kann oder? (Ist natürlich auch kein Problem und ebenfalls elegant wen man fit im Scripten ist.)

        Mein eigentliches Problem ist also - wie sieht die Umrechnung bzw. der Datenpunkt der "angepassten-Range" in die volle "interpolierte-Range" aus?

        Also z.B.
        (Min-Level) aus 12% wird > 0%
        (Max_Level) aus 80% wird > 100%

        Bzw.
        Alias-LEVEL: 0% <=> hm-rpc.0.NEQ0044188.1.LEVEL: 12%
        Alias-LEVEL: 100% <=> hm-rpc.0.NEQ0044188.1.LEVEL: 80%

        Es soll also ein Datenpunkt entstehen, welcher von 0-100% geregelt werden kann und auf das eigentliche Device von 12-80% schreibt/liest. Also eine Vollwertige 0-100% Regelung, welche das min. von 12% und das max. von 80% umrechnet/berücksichtigt.

        Für einen Script-Ansatz wäre ich Euch sehr dankbar, den hierfür reicht der Dreisatz wohl nicht mehr aus.

        Grüße

        Michael

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

        @Michael-Dolp sagte:

        Also z.B.
        (Min-Level) aus 12% wird > 0%
        (Max_Level) aus 80% wird > 100%

        alias: {
           read: "Math.round((val - 12) / 0.68)",
           write: "Math.round(0.68 * val + 12)",
           id: '...'
        }
        

        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

        Michael DolpM 1 Antwort Letzte Antwort
        1
        • paul53P paul53

          @Michael-Dolp sagte:

          Also z.B.
          (Min-Level) aus 12% wird > 0%
          (Max_Level) aus 80% wird > 100%

          alias: {
             read: "Math.round((val - 12) / 0.68)",
             write: "Math.round(0.68 * val + 12)",
             id: '...'
          }
          
          Michael DolpM Offline
          Michael DolpM Offline
          Michael Dolp
          schrieb am zuletzt editiert von
          #4

          @paul53
          Vielen Dank - geht also doch mit Dreisatz, manchmal denk ich einfach zu kompliziert. Ich werde es morgen mal probieren und dann entsprechend Feedback bzw. Beispiel geben.

          "So lange es nicht Heizen muss, geht es am besten mit Shelly`s"
          1x IOBroker on QNAP Ts253A - ( Docker/buanet )
          1x FHEM on QNAP ( VM 1 Core / 2GB RAM )
          1x Raspberymatic / ELV-Charly ( RPI 3 )
          1x Raspbee ( RPI 2 )
          1x Repetier Server - 6 Drucker ( RPI 4 )

          paul53P 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @Michael-Dolp Nicht das was du willst, aber auch eine Lösung wäre:
            https://download.gira.de/data3/PI_Kompensationsmodul_DE.pdf

            Habe es selber nicht, aber nur gutes davon gehört

            Michael DolpM Offline
            Michael DolpM Offline
            Michael Dolp
            schrieb am zuletzt editiert von
            #5

            @Homoran
            Danke, damit scheint wohl eher auf Spatzen mit der .50er geschossen zu werden aber dennoch interessant und vielleicht mal nützlich.

            "So lange es nicht Heizen muss, geht es am besten mit Shelly`s"
            1x IOBroker on QNAP Ts253A - ( Docker/buanet )
            1x FHEM on QNAP ( VM 1 Core / 2GB RAM )
            1x Raspberymatic / ELV-Charly ( RPI 3 )
            1x Raspbee ( RPI 2 )
            1x Repetier Server - 6 Drucker ( RPI 4 )

            1 Antwort Letzte Antwort
            0
            • Michael DolpM Michael Dolp

              @paul53
              Vielen Dank - geht also doch mit Dreisatz, manchmal denk ich einfach zu kompliziert. Ich werde es morgen mal probieren und dann entsprechend Feedback bzw. Beispiel geben.

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

              @Michael-Dolp sagte:

              Ich werde es morgen mal probieren und dann entsprechend Feedback bzw. Beispiel geben.

              Ich weiß nicht, ob inzwischen im js-controller der Wert auf den Bereich zwischen Min und Max begrenzt wird, denn es war früher nicht so und es wurde mal im Javascript-Adapter 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

              Michael DolpM 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @Michael-Dolp sagte:

                Ich werde es morgen mal probieren und dann entsprechend Feedback bzw. Beispiel geben.

                Ich weiß nicht, ob inzwischen im js-controller der Wert auf den Bereich zwischen Min und Max begrenzt wird, denn es war früher nicht so und es wurde mal im Javascript-Adapter ergänzt.

                Michael DolpM Offline
                Michael DolpM Offline
                Michael Dolp
                schrieb am zuletzt editiert von
                #7

                @paul53
                Das sagt mir jetzt leider nichts, inwiefern betrifft / beeinflusst dies den Lösungsansatz?

                "So lange es nicht Heizen muss, geht es am besten mit Shelly`s"
                1x IOBroker on QNAP Ts253A - ( Docker/buanet )
                1x FHEM on QNAP ( VM 1 Core / 2GB RAM )
                1x Raspberymatic / ELV-Charly ( RPI 3 )
                1x Raspbee ( RPI 2 )
                1x Repetier Server - 6 Drucker ( RPI 4 )

                paul53P 1 Antwort Letzte Antwort
                0
                • Michael DolpM Michael Dolp

                  @paul53
                  Das sagt mir jetzt leider nichts, inwiefern betrifft / beeinflusst dies den Lösungsansatz?

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

                  @Michael-Dolp sagte:

                  inwiefern betrifft / beeinflusst dies den Lösungsansatz?

                  Das werden wird sehen. Evtl. muss noch eine Begrenzung für "read" ergänzt werden.

                  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

                  Michael DolpM 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @Michael-Dolp sagte:

                    inwiefern betrifft / beeinflusst dies den Lösungsansatz?

                    Das werden wird sehen. Evtl. muss noch eine Begrenzung für "read" ergänzt werden.

                    Michael DolpM Offline
                    Michael DolpM Offline
                    Michael Dolp
                    schrieb am zuletzt editiert von Michael Dolp
                    #9

                    Habs doch jetzt gleich probiert - es geht soweit, aber ich kriege keine Werte angezeigt (siehe Screenshot). Ich kann einen Wert eingeben und es regelt wie gewünscht in umgerechneter Form den "hm-rpc.0.NEQ0044188.1.LEVEL" das Alias "alias.0.OG.Galerie.Bürobeleuchtung" selbst zeigt aber keine Werte an. Wo habe ich den Fehler?

                    alt text

                    CODE - "alias.0.OG.Galerie.Bürobeleuchtung":

                    {
                      "from": "system.adapter.alias.0",
                      "user": "system.user.admin",
                      "ts": 1605979923610,
                      "common": {
                        "name": "OG_Galerie_Bürobeleuchtung",
                        "unit": "%",
                        "role": "value.dimmer",
                        "type": "number",
                        "alias": {
                          "id": "hm-rpc.0.NEQ0044188.1.LEVEL",
                          "def": 0,
                          "min": 0,
                          "max": 100,
                          "write": "(val * 9/5) + 32",
                          "read": "(val − 32) * 5/9"
                        }
                      },
                      "native": {
                        "CONTROL": "DIMMER.LEVEL",
                        "ID": "LEVEL",
                        "TYPE": "FLOAT",
                        "UNIT": "100%",
                        "DEFAULT": 0,
                        "FLAGS": 1,
                        "MAX": 1,
                        "MIN": 0,
                        "OPERATIONS": 7,
                        "TAB_ORDER": 0
                      },
                      "acl": {
                        "object": 1636,
                        "owner": "system.user.admin",
                        "ownerGroup": "system.group.administrator",
                        "state": 1636
                      },
                      "_id": "alias.0.OG.Galerie.Bürobeleuchtung",
                      "type": "state"
                    }
                    

                    Ist das Objekt bzw. der Code überhaupt in diesem Umfang nötig und wo liegt der Fehler - scheint das von Dir prognostizierte evlt. Problem zu sein oder?

                    Für weitere Hilfe wäre ich sehr dankbar.

                    "So lange es nicht Heizen muss, geht es am besten mit Shelly`s"
                    1x IOBroker on QNAP Ts253A - ( Docker/buanet )
                    1x FHEM on QNAP ( VM 1 Core / 2GB RAM )
                    1x Raspberymatic / ELV-Charly ( RPI 3 )
                    1x Raspbee ( RPI 2 )
                    1x Repetier Server - 6 Drucker ( RPI 4 )

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • Michael DolpM Michael Dolp

                      Habs doch jetzt gleich probiert - es geht soweit, aber ich kriege keine Werte angezeigt (siehe Screenshot). Ich kann einen Wert eingeben und es regelt wie gewünscht in umgerechneter Form den "hm-rpc.0.NEQ0044188.1.LEVEL" das Alias "alias.0.OG.Galerie.Bürobeleuchtung" selbst zeigt aber keine Werte an. Wo habe ich den Fehler?

                      alt text

                      CODE - "alias.0.OG.Galerie.Bürobeleuchtung":

                      {
                        "from": "system.adapter.alias.0",
                        "user": "system.user.admin",
                        "ts": 1605979923610,
                        "common": {
                          "name": "OG_Galerie_Bürobeleuchtung",
                          "unit": "%",
                          "role": "value.dimmer",
                          "type": "number",
                          "alias": {
                            "id": "hm-rpc.0.NEQ0044188.1.LEVEL",
                            "def": 0,
                            "min": 0,
                            "max": 100,
                            "write": "(val * 9/5) + 32",
                            "read": "(val − 32) * 5/9"
                          }
                        },
                        "native": {
                          "CONTROL": "DIMMER.LEVEL",
                          "ID": "LEVEL",
                          "TYPE": "FLOAT",
                          "UNIT": "100%",
                          "DEFAULT": 0,
                          "FLAGS": 1,
                          "MAX": 1,
                          "MIN": 0,
                          "OPERATIONS": 7,
                          "TAB_ORDER": 0
                        },
                        "acl": {
                          "object": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator",
                          "state": 1636
                        },
                        "_id": "alias.0.OG.Galerie.Bürobeleuchtung",
                        "type": "state"
                      }
                      

                      Ist das Objekt bzw. der Code überhaupt in diesem Umfang nötig und wo liegt der Fehler - scheint das von Dir prognostizierte evlt. Problem zu sein oder?

                      Für weitere Hilfe wäre ich sehr dankbar.

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

                      @Michael-Dolp:

                      wo liegt der Fehler?

                      Hast du den Alias manuell erstellt ? Ich korrigiere mal.

                        "common": {
                          "name": "OG_Galerie_Bürobeleuchtung",
                          "unit": "%",
                          "role": "level.dimmer",
                          "type": "number",
                          "def": 0,
                          "min": 0,
                          "max": 100,
                          "alias": {
                             "id": "hm-rpc.0.NEQ0044188.1.LEVEL",
                             "write": "Math.round(0.68 * val + 12)",
                             "read": "Math.round((val - 12) / 0.68)"
                          }
                        },
                        "native": {}, // darf nur ein leeres Objekt enthalten !
                      

                      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

                      Michael DolpM 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @Michael-Dolp:

                        wo liegt der Fehler?

                        Hast du den Alias manuell erstellt ? Ich korrigiere mal.

                          "common": {
                            "name": "OG_Galerie_Bürobeleuchtung",
                            "unit": "%",
                            "role": "level.dimmer",
                            "type": "number",
                            "def": 0,
                            "min": 0,
                            "max": 100,
                            "alias": {
                               "id": "hm-rpc.0.NEQ0044188.1.LEVEL",
                               "write": "Math.round(0.68 * val + 12)",
                               "read": "Math.round((val - 12) / 0.68)"
                            }
                          },
                          "native": {}, // darf nur ein leeres Objekt enthalten !
                        
                        Michael DolpM Offline
                        Michael DolpM Offline
                        Michael Dolp
                        schrieb am zuletzt editiert von Michael Dolp
                        #11

                        @paul53
                        Ja, ich bin wie bereits erwähnt nicht wirklich fit im Coden.. Aber Dank Dir funktioniert es nun perfekt! (siehe Screenshot)

                        alt text

                        Der komplette Code zu diesem Beispiel:

                        HomeMatic Dimmer Device: hm-rpc.0.NEQ0044188.1.LEVEL
                        Virtual Device: alias.0.OG.Galerie.Bürobeleuchtung
                        Dim-Range: 12-80%

                        Berechnung des Faktors hier "0.68":
                        Dim.Max - Dim.Min / 100 > (80 - 12) / 100 = 0.68
                        ( Wert 12 = Dim.Min )

                        {
                          "from": "system.adapter.alias.0",
                          "user": "system.user.admin",
                          "ts": 1605979923610,
                          "common": {
                            "name": "OG_Galerie_Bürobeleuchtung",
                            "unit": "%",
                            "role": "level.dimmer",
                            "type": "number",
                            "def": 0,
                            "min": 0,
                            "max": 100,
                            "alias": {
                              "id": "hm-rpc.0.NEQ0044188.1.LEVEL",
                              "write": "Math.round(0.68 * val + 12)",
                              "read": "Math.round((val - 12) / 0.68)"
                            }
                          },
                          "native": {},
                          "acl": {
                            "object": 1636,
                            "owner": "system.user.admin",
                            "ownerGroup": "system.group.administrator",
                            "state": 1636
                          },
                          "_id": "alias.0.OG.Galerie.Bürobeleuchtung",
                          "type": "state"
                        }
                        

                        Vielen Dank für die schnelle Hilfe!

                        Sollte somit "gelöst" sein.

                        "So lange es nicht Heizen muss, geht es am besten mit Shelly`s"
                        1x IOBroker on QNAP Ts253A - ( Docker/buanet )
                        1x FHEM on QNAP ( VM 1 Core / 2GB RAM )
                        1x Raspberymatic / ELV-Charly ( RPI 3 )
                        1x Raspbee ( RPI 2 )
                        1x Repetier Server - 6 Drucker ( RPI 4 )

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • Michael DolpM Michael Dolp

                          @paul53
                          Ja, ich bin wie bereits erwähnt nicht wirklich fit im Coden.. Aber Dank Dir funktioniert es nun perfekt! (siehe Screenshot)

                          alt text

                          Der komplette Code zu diesem Beispiel:

                          HomeMatic Dimmer Device: hm-rpc.0.NEQ0044188.1.LEVEL
                          Virtual Device: alias.0.OG.Galerie.Bürobeleuchtung
                          Dim-Range: 12-80%

                          Berechnung des Faktors hier "0.68":
                          Dim.Max - Dim.Min / 100 > (80 - 12) / 100 = 0.68
                          ( Wert 12 = Dim.Min )

                          {
                            "from": "system.adapter.alias.0",
                            "user": "system.user.admin",
                            "ts": 1605979923610,
                            "common": {
                              "name": "OG_Galerie_Bürobeleuchtung",
                              "unit": "%",
                              "role": "level.dimmer",
                              "type": "number",
                              "def": 0,
                              "min": 0,
                              "max": 100,
                              "alias": {
                                "id": "hm-rpc.0.NEQ0044188.1.LEVEL",
                                "write": "Math.round(0.68 * val + 12)",
                                "read": "Math.round((val - 12) / 0.68)"
                              }
                            },
                            "native": {},
                            "acl": {
                              "object": 1636,
                              "owner": "system.user.admin",
                              "ownerGroup": "system.group.administrator",
                              "state": 1636
                            },
                            "_id": "alias.0.OG.Galerie.Bürobeleuchtung",
                            "type": "state"
                          }
                          

                          Vielen Dank für die schnelle Hilfe!

                          Sollte somit "gelöst" sein.

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

                          @Michael-Dolp sagte:

                          Dim-Range: 12-80%

                          Gib mal bei "hm-rpc.0.NEQ0044188.1.LEVEL" den Wert 85 ein und schau, welchen Wert der Alias annimmt.

                          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

                          Michael DolpM 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @Michael-Dolp sagte:

                            Dim-Range: 12-80%

                            Gib mal bei "hm-rpc.0.NEQ0044188.1.LEVEL" den Wert 85 ein und schau, welchen Wert der Alias annimmt.

                            Michael DolpM Offline
                            Michael DolpM Offline
                            Michael Dolp
                            schrieb am zuletzt editiert von
                            #13

                            @paul53
                            In dem Fall kommen wir auf 107% - kommt jetzt die erwähnte Begrenzung zum Einsatz?

                            Stimmt so oder:
                            Berechnung des Faktors hier "0.68":
                            Dim.Max - Dim.Min / 100 > (80 - 12) / 100 = 0.68
                            ( Wert 12 = Dim.Min )

                            "So lange es nicht Heizen muss, geht es am besten mit Shelly`s"
                            1x IOBroker on QNAP Ts253A - ( Docker/buanet )
                            1x FHEM on QNAP ( VM 1 Core / 2GB RAM )
                            1x Raspberymatic / ELV-Charly ( RPI 3 )
                            1x Raspbee ( RPI 2 )
                            1x Repetier Server - 6 Drucker ( RPI 4 )

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • Michael DolpM Michael Dolp

                              @paul53
                              In dem Fall kommen wir auf 107% - kommt jetzt die erwähnte Begrenzung zum Einsatz?

                              Stimmt so oder:
                              Berechnung des Faktors hier "0.68":
                              Dim.Max - Dim.Min / 100 > (80 - 12) / 100 = 0.68
                              ( Wert 12 = Dim.Min )

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

                              @Michael-Dolp sagte:

                              kommt jetzt die erwähnte Begrenzung zum Einsatz?

                              Ja.

                                    "read": "val < 12 ? 0 : val > 80 ? 100 : Math.round((val - 12) / 0.68)"
                              

                              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

                              Michael DolpM 2 Antworten Letzte Antwort
                              0
                              • paul53P paul53

                                @Michael-Dolp sagte:

                                kommt jetzt die erwähnte Begrenzung zum Einsatz?

                                Ja.

                                      "read": "val < 12 ? 0 : val > 80 ? 100 : Math.round((val - 12) / 0.68)"
                                
                                Michael DolpM Offline
                                Michael DolpM Offline
                                Michael Dolp
                                schrieb am zuletzt editiert von
                                #15

                                @paul53 said in Min/Max "Dimmer-Range" in "0-100% Dim-Level" umrechnen:

                                "read": "val < 12 ? 0 : val > 80 ? 100 : Math.round((val - 12) / 0.68)"

                                Er gibt mir jetzt entsprechend nur noch "true" oder "false" aus. Geht also noch nicht.

                                "So lange es nicht Heizen muss, geht es am besten mit Shelly`s"
                                1x IOBroker on QNAP Ts253A - ( Docker/buanet )
                                1x FHEM on QNAP ( VM 1 Core / 2GB RAM )
                                1x Raspberymatic / ELV-Charly ( RPI 3 )
                                1x Raspbee ( RPI 2 )
                                1x Repetier Server - 6 Drucker ( RPI 4 )

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @Michael-Dolp sagte:

                                  kommt jetzt die erwähnte Begrenzung zum Einsatz?

                                  Ja.

                                        "read": "val < 12 ? 0 : val > 80 ? 100 : Math.round((val - 12) / 0.68)"
                                  
                                  Michael DolpM Offline
                                  Michael DolpM Offline
                                  Michael Dolp
                                  schrieb am zuletzt editiert von Michael Dolp
                                  #16

                                  @paul53
                                  EDIT: "geht mit beiden"

                                  "type": "number" statt "state" dann gehts.

                                  Hier also der momentan perfekt funktionierende Code:

                                  {
                                    "from": "system.adapter.alias.0",
                                    "user": "system.user.admin",
                                    "ts": 1605979923610,
                                    "common": {
                                      "name": "OG_Galerie_Bürobeleuchtung",
                                      "unit": "%",
                                      "role": "level.dimmer",
                                      "type": "number",
                                      "def": 0,
                                      "min": 0,
                                      "max": 100,
                                      "alias": {
                                        "id": "hm-rpc.0.NEQ0044188.1.LEVEL",
                                        "write": "Math.round(0.68 * val + 12)",
                                        "read": "val < 12 ? 0 : val > 80 ? 100 : Math.round((val - 12) / 0.68)"
                                      }
                                    },
                                    "native": {},
                                    "acl": {
                                      "object": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator",
                                      "state": 1636
                                    },
                                    "_id": "alias.0.OG.Galerie.Bürobeleuchtung",
                                    "type": "state"
                                  }
                                  

                                  Berechnung des Faktors hier "0.68":
                                  ( Dim.Max - Dim.Min ) / 100 > (80 - 12) / 100 = 0.68
                                  ( Wert 12 = Dim.Min )
                                  ( Wert 80 = Dim.Max )

                                  "So lange es nicht Heizen muss, geht es am besten mit Shelly`s"
                                  1x IOBroker on QNAP Ts253A - ( Docker/buanet )
                                  1x FHEM on QNAP ( VM 1 Core / 2GB RAM )
                                  1x Raspberymatic / ELV-Charly ( RPI 3 )
                                  1x Raspbee ( RPI 2 )
                                  1x Repetier Server - 6 Drucker ( RPI 4 )

                                  1 Antwort Letzte Antwort
                                  0
                                  • Michael DolpM Michael Dolp

                                    @paul53 said in Min/Max "Dimmer-Range" in "0-100% Dim-Level" umrechnen:

                                    "read": "val < 12 ? 0 : val > 80 ? 100 : Math.round((val - 12) / 0.68)"

                                    Er gibt mir jetzt entsprechend nur noch "true" oder "false" aus. Geht also noch nicht.

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

                                    @Michael-Dolp sagte:

                                    Er gibt mir jetzt entsprechend nur noch "true" oder "false" aus.

                                    Seltsam. Wenn ich die Sequenz in Javascript teste, funktioniert es.

                                    var val = 8;
                                    log(val < 12 ? 0 : val > 80 ? 100 : Math.round((val - 12) / 0.68));
                                    

                                    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

                                    Michael DolpM 2 Antworten Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @Michael-Dolp sagte:

                                      Er gibt mir jetzt entsprechend nur noch "true" oder "false" aus.

                                      Seltsam. Wenn ich die Sequenz in Javascript teste, funktioniert es.

                                      var val = 8;
                                      log(val < 12 ? 0 : val > 80 ? 100 : Math.round((val - 12) / 0.68));
                                      
                                      Michael DolpM Offline
                                      Michael DolpM Offline
                                      Michael Dolp
                                      schrieb am zuletzt editiert von Michael Dolp
                                      #18

                                      @paul53
                                      Stimmt, ging auch mit "state" war also alles korrekt. Hang wohl irgendwo kurz.

                                      Vielen Dank für die sehr schnelle kompetente Hilfe Paul, das hat mit sehr weiter geholfen!

                                      Hab echt schon vorher einige Zeit rumgesucht und nichts gefunden... komisch, dass Niemand dieses Problem hat bzw. Dimmer Visualisiert, welche sich nicht auf 0 und 100 regeln lassen.

                                      "So lange es nicht Heizen muss, geht es am besten mit Shelly`s"
                                      1x IOBroker on QNAP Ts253A - ( Docker/buanet )
                                      1x FHEM on QNAP ( VM 1 Core / 2GB RAM )
                                      1x Raspberymatic / ELV-Charly ( RPI 3 )
                                      1x Raspbee ( RPI 2 )
                                      1x Repetier Server - 6 Drucker ( RPI 4 )

                                      1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @Michael-Dolp sagte:

                                        Er gibt mir jetzt entsprechend nur noch "true" oder "false" aus.

                                        Seltsam. Wenn ich die Sequenz in Javascript teste, funktioniert es.

                                        var val = 8;
                                        log(val < 12 ? 0 : val > 80 ? 100 : Math.round((val - 12) / 0.68));
                                        
                                        Michael DolpM Offline
                                        Michael DolpM Offline
                                        Michael Dolp
                                        schrieb am zuletzt editiert von
                                        #19

                                        @paul53
                                        Hi, jetzt muss ich leider nochmal stören - wenn ich in das Alias 0% schreibe wird das Device auf den "Min" Wert gesetzt und nicht ebenfalls auf "0" / OFF.

                                        Was müsste hierfür noch ergänzt werden?

                                        Aktueller Auszug Alias Code:

                                        "common": {
                                            "name": "OG_Galerie_Bürobeleuchtung",
                                            "unit": "%",
                                            "role": "level.dimmer",
                                            "type": "stater",
                                            "def": 0,
                                            "min": 0,
                                            "max": 100,
                                            "alias": {
                                              "id": "hm-rpc.0.NEQ0044188.1.LEVEL",
                                              "write": "Math.round(0.77 * val + 23)",
                                              "read": "val < 23 ? 0 : val > 100 ? 100 : Math.round((val - 23) / 0.77)"
                                            }
                                        

                                        "So lange es nicht Heizen muss, geht es am besten mit Shelly`s"
                                        1x IOBroker on QNAP Ts253A - ( Docker/buanet )
                                        1x FHEM on QNAP ( VM 1 Core / 2GB RAM )
                                        1x Raspberymatic / ELV-Charly ( RPI 3 )
                                        1x Raspbee ( RPI 2 )
                                        1x Repetier Server - 6 Drucker ( RPI 4 )

                                        paul53P 1 Antwort Letzte Antwort
                                        0
                                        • Michael DolpM Michael Dolp

                                          @paul53
                                          Hi, jetzt muss ich leider nochmal stören - wenn ich in das Alias 0% schreibe wird das Device auf den "Min" Wert gesetzt und nicht ebenfalls auf "0" / OFF.

                                          Was müsste hierfür noch ergänzt werden?

                                          Aktueller Auszug Alias Code:

                                          "common": {
                                              "name": "OG_Galerie_Bürobeleuchtung",
                                              "unit": "%",
                                              "role": "level.dimmer",
                                              "type": "stater",
                                              "def": 0,
                                              "min": 0,
                                              "max": 100,
                                              "alias": {
                                                "id": "hm-rpc.0.NEQ0044188.1.LEVEL",
                                                "write": "Math.round(0.77 * val + 23)",
                                                "read": "val < 23 ? 0 : val > 100 ? 100 : Math.round((val - 23) / 0.77)"
                                              }
                                          
                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von paul53
                                          #20

                                          @Michael-Dolp sagte:

                                          Auszug Alias Code:

                                          "type" ist falsch, richtig:

                                              "type": "number",
                                          

                                          Die Prüfung val > 100 kann entfallen.

                                          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

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

                                          365

                                          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