Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Alias Read -> konvertierung [gelöst]

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Alias Read -> konvertierung [gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • MartinP
      MartinP @Denis Claß last edited by

      @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ß 2 Replies Last reply Reply Quote 1
      • Codierknecht
        Codierknecht Developer Most Active @Denis Claß last edited by

        @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ß 1 Reply Last reply Reply Quote 1
        • Denis Claß
          Denis Claß @MartinP last edited by

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

          1 Reply Last reply Reply Quote 0
          • Denis Claß
            Denis Claß @Codierknecht last edited by

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

            1 Reply Last reply Reply Quote 0
            • Denis Claß
              Denis Claß @MartinP last edited by

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

              paul53 Codierknecht 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @Denis Claß last edited by 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'
                
                Codierknecht 1 Reply Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @Denis Claß last edited by Codierknecht

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

                  1 Reply Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @paul53 last edited by Codierknecht

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

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

                    paul53 Denis Claß 2 Replies Last reply Reply Quote 0
                    • paul53
                      paul53 @Codierknecht last edited by paul53

                      @codierknecht sagte: Hast Du das mal getestet?

                      Ja, funktioniert.
                      Browser-Refresh?

                      Denis Claß 1 Reply Last reply Reply Quote 0
                      • Denis Claß
                        Denis Claß @Codierknecht last edited by

                        @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 Reply Last reply Reply Quote 0
                        • Denis Claß
                          Denis Claß @paul53 last edited by

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

                          1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active last edited by

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

                            val.startsWith('hallo')
                            
                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

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

                            558
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            4
                            13
                            467
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo