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. Alias Read -> konvertierung [gelöst]

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    949

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Alias Read -> konvertierung [gelöst]

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
13 Beiträge 4 Kommentatoren 907 Aufrufe 4 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.
  • MartinPM MartinP

    @denis-claß Mit "true" und "false" kommt man dann nicht aus...

    Der Ternary-Operator "?:" kann aber durchaus auch mit Klammern und verschachtelt genutzt werden ...

    Füllstandsanzeiger mit Werten von 0 .... 100 %, bei 0...10% soll "Reserve!" zurückgegeben werden, zwischen 10 ... 90% "Normal", und ab 90% "Voll"

    (val>90) ? "Voll" :  ((val < 10) ? "Reserve!" : "Normal")
    

    Bei Klammern bin ich der Meinung, dass sie nicht zu sparsam eingesetzt werden sollten. In manchen Konstrukten helfen mir eigentlich überflüssige Klammern, den Code zu verstehen, wenn ich nach Monaten wieder draufgucke ... Auf die Rechenzeit sollten sie keinen messbaren Einfluss haben...

    Denis ClaßD Offline
    Denis ClaßD Offline
    Denis Claß
    schrieb am zuletzt editiert von
    #4

    @martinp
    ah super, genau das was ich gefragt hatte. Damit kann ich arbeiten. DANKE!

    1 Antwort Letzte Antwort
    0
    • CodierknechtC Codierknecht

      @denis-claß
      Ein Alias kann nur seinen "eigenen" Ziel-DP auswerten. Das ist letztlich das was in val drinsteht.
      Wenn mehrere DP auszuwerten sind, muss das per Script erledigt werden. Das Ergebnis kann dann natürlich nur in DP unterhalb von 0_userdata geschrieben werden.

      Eigentlich sollte Deine Konvertierungsfunktion also lauten:

      val == 'On' 
      

      Das reicht völlig aus.
      Steht im Ziel-DP gerade On, zeigt der Alias true. In allen anderen Fällen false.
      Also auch wenn da mal (warum auch immer) Blubb drinstehen würde.

      Denis ClaßD Offline
      Denis ClaßD Offline
      Denis Claß
      schrieb am zuletzt editiert von
      #5

      @codierknecht
      ein alias = 1 Datenpunkt. Also erstmal, für meinen Fall kein Script notwendig.
      Danke für deinen Tipp

      1 Antwort Letzte Antwort
      0
      • MartinPM MartinP

        @denis-claß Mit "true" und "false" kommt man dann nicht aus...

        Der Ternary-Operator "?:" kann aber durchaus auch mit Klammern und verschachtelt genutzt werden ...

        Füllstandsanzeiger mit Werten von 0 .... 100 %, bei 0...10% soll "Reserve!" zurückgegeben werden, zwischen 10 ... 90% "Normal", und ab 90% "Voll"

        (val>90) ? "Voll" :  ((val < 10) ? "Reserve!" : "Normal")
        

        Bei Klammern bin ich der Meinung, dass sie nicht zu sparsam eingesetzt werden sollten. In manchen Konstrukten helfen mir eigentlich überflüssige Klammern, den Code zu verstehen, wenn ich nach Monaten wieder draufgucke ... Auf die Rechenzeit sollten sie keinen messbaren Einfluss haben...

        Denis ClaßD Offline
        Denis ClaßD Offline
        Denis Claß
        schrieb am zuletzt editiert von
        #6

        @martinp
        weißt du zufällig auch bei der nächsten Frage die dazu gehört Rat?
        Kann man in der Read Function auch anstatt eindeutige vals zu konvertieren auch Teile davon nur prüfen und ändern?
        Also wenn immer 0 oder 1 kommt diese zu true/false ist ja klar.
        Aber wenn mein original Wert mal hallo1 oder hallo2 sein kann für true und tschüss für false -> gibts hier nicht eine "contains" funktion? also z.B.
        val.contains('hallo') ? true : ((val === 'tschüss') ? false : false)

        paul53P CodierknechtC 2 Antworten Letzte Antwort
        0
        • Denis ClaßD Denis Claß

          @martinp
          weißt du zufällig auch bei der nächsten Frage die dazu gehört Rat?
          Kann man in der Read Function auch anstatt eindeutige vals zu konvertieren auch Teile davon nur prüfen und ändern?
          Also wenn immer 0 oder 1 kommt diese zu true/false ist ja klar.
          Aber wenn mein original Wert mal hallo1 oder hallo2 sein kann für true und tschüss für false -> gibts hier nicht eine "contains" funktion? also z.B.
          val.contains('hallo') ? true : ((val === 'tschüss') ? false : false)

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

          @denis-claß sagte: Wert mal hallo1 oder hallo2 sein kann für true

          val == 'hallo1' || val == 'hallo2'
          

          oder

          val.startsWith('hallo')
          

          oder

          val != 'tschüss'
          

          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

          CodierknechtC 1 Antwort Letzte Antwort
          0
          • Denis ClaßD Denis Claß

            @martinp
            weißt du zufällig auch bei der nächsten Frage die dazu gehört Rat?
            Kann man in der Read Function auch anstatt eindeutige vals zu konvertieren auch Teile davon nur prüfen und ändern?
            Also wenn immer 0 oder 1 kommt diese zu true/false ist ja klar.
            Aber wenn mein original Wert mal hallo1 oder hallo2 sein kann für true und tschüss für false -> gibts hier nicht eine "contains" funktion? also z.B.
            val.contains('hallo') ? true : ((val === 'tschüss') ? false : false)

            CodierknechtC Offline
            CodierknechtC Offline
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von Codierknecht
            #8

            @denis-claß
            Mit z.B. contains oder auch mit indexOf funktioniert das nicht.

            Aber was hast Du immer mit dem ternären Operator?
            Wenn da nur true oder false geliefert werden sollen, ist das völlig unnötig. Ein einfacher Vergleich tut's ja auch - so wie @paul53 das zeigt.

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @denis-claß sagte: Wert mal hallo1 oder hallo2 sein kann für true

              val == 'hallo1' || val == 'hallo2'
              

              oder

              val.startsWith('hallo')
              

              oder

              val != 'tschüss'
              
              CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von Codierknecht
              #9

              @paul53
              Meine Versuche mit startsWith() funktionieren nicht.
              Hast Du das mal getestet?

              75fde545-531f-4975-8413-b1b9cc239835-grafik.png

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              paul53P Denis ClaßD 2 Antworten Letzte Antwort
              0
              • CodierknechtC Codierknecht

                @paul53
                Meine Versuche mit startsWith() funktionieren nicht.
                Hast Du das mal getestet?

                75fde545-531f-4975-8413-b1b9cc239835-grafik.png

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

                @codierknecht sagte: Hast Du das mal getestet?

                Ja, funktioniert.
                Browser-Refresh?

                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

                Denis ClaßD 1 Antwort Letzte Antwort
                0
                • CodierknechtC Codierknecht

                  @paul53
                  Meine Versuche mit startsWith() funktionieren nicht.
                  Hast Du das mal getestet?

                  75fde545-531f-4975-8413-b1b9cc239835-grafik.png

                  Denis ClaßD Offline
                  Denis ClaßD Offline
                  Denis Claß
                  schrieb am zuletzt editiert von
                  #11

                  @codierknecht
                  ich hab jetzt mal ein wenig gegoogelt und getestet. contains geht nicht. aber includes klappt genau wie man es von contains kennt.
                  Mein Problem ist somit gelöst.
                  Vielen Dank für die Denkanstöße

                  1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @codierknecht sagte: Hast Du das mal getestet?

                    Ja, funktioniert.
                    Browser-Refresh?

                    Denis ClaßD Offline
                    Denis ClaßD Offline
                    Denis Claß
                    schrieb am zuletzt editiert von
                    #12

                    @paul53
                    auch danke an dich. du hast mir den finalen Denkanstoß gegeben

                    1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #13

                      @paul53
                      Mag wohl daran gelegen haben, dass ich einen alten DP "wiederverwertet" habe.
                      Mit einem neuen funzt das einwandfrei:

                      val.startsWith('hallo')
                      

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      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

                      650

                      Online

                      32.6k

                      Benutzer

                      82.2k

                      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