Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Merkwürdiges Typ-Problem

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Merkwürdiges Typ-Problem

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @MartinP last edited by haus-automatisierung

      @martinp sagte in Merkwürdiges Typ-Problem:

      Merkwürdigerweise ist aber NullKubikWork gar kein String ...

      Es wird sich ja auch über den Typ von

      • '0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter' und
      • '0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal' beschwert.

      You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter"
      You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal"

      Nicht von '0_userdata.0.Adjustments.Gaszaehler.NullKubikmeter'

      Edit: Ach Du kopierst da States hin und her. Verstehe das Script nicht so richtig. Was gibt denn ein

      console.log(typeof getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val);
      
      Homoran MartinP 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @haus-automatisierung last edited by Homoran

        @haus-automatisierung und genau das konnte ich nicht genau entziffern, aber ich glaube es geht anscheinend um die Stelle im Blockly, die den Wert aus einem DP Typ Number nimmt und dort hineinschreibt.
        Dann müsste der geschriebene Wert doch gar nicht gewandelt werden

        auch EDIT:
        ja, das ist es

        haus-automatisierung 1 Reply Last reply Reply Quote 0
        • haus-automatisierung
          haus-automatisierung Developer Most Active @Homoran last edited by haus-automatisierung

          @homoran sagte in Merkwürdiges Typ-Problem:

          Dann müsste der geschriebene Wert doch gar nicht gewandelt werden

          Na das kommt drauf an, was wirklich in dem State steht. Nur weil der definierte Typ auf dem Objekt number ist, heißt es ja nicht, dass da auch wirklich mal ein numerischer State gespeichert worden ist.

          Eventuell wurde ja mal ein String gespeichert (auch mit einer Warnung) und jetzt wird der String da zurückgeliefert...

          Nur weil man den Typ auf dem Objekt umstellt, findet AFAIK kein automatischer Cast des State-Wertes auf den neuen Typ statt.

          1 Reply Last reply Reply Quote 1
          • MartinP
            MartinP @haus-automatisierung last edited by

            @haus-automatisierung

            Ich lese den Gaszähler mit einem induktiven Näherungssensor aus (1 Puls pro 10 Liter Gas), und der schickt manchmal überzählige Pulse.

            Um diese zu korrigieren habe ich einen Vis 1.x View provisorisch gebastelt, bei dem man durch Eintippen des realen Zählerstandes eine Korrektur auslösen kann...

            Womöglich kommt da durch die "kalte Küche" ein String in den "Zahl" Userdata - Punkt...

            Wäre aber merkwürdig... Widget ist vom Typ "jqui - input"

            8de444cd-6c7a-4eac-bba2-cc4a90f0719c-grafik.png

            b48ce9b1-76bf-42f5-b364-7f06f8226e22-grafik.png

            haus-automatisierung 1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @MartinP last edited by haus-automatisierung

              @martinp sagte in Merkwürdiges Typ-Problem:

              Womöglich kommt da durch die "kalte Küche" ein String in den "Zahl" Userdata - Punkt...

              Könnte man jetzt raten, oder man schaut einfach in dem State nach 🙂

              Aber "Zeichen nach Komma" klingt ja schon nach String.

              MartinP Homoran 2 Replies Last reply Reply Quote 0
              • MartinP
                MartinP @haus-automatisierung last edited by MartinP

                @haus-automatisierung Wie kann man das "typeof" als Blockly formulieren? - stehe da gerade auf dem Schlauch...

                EDIT

                b7f2edd2-c798-42b7-b7ff-38bef8a1b541-grafik.png

                Habe nach "T" gesucht, nicht nach "O" 😉

                haus-automatisierung paul53 2 Replies Last reply Reply Quote 0
                • haus-automatisierung
                  haus-automatisierung Developer Most Active @MartinP last edited by haus-automatisierung

                  @martinp sagte in Merkwürdiges Typ-Problem:

                  Wie kann man das "typeof" als Blockly formulieren?

                  Nimm doch einfach kurz ein neues JavaScript. Der Block von Dir nimmt type des Objektes (und nicht den "echten" Datentyp des verknüpften States).

                  Den kennst Du ja schon. Da kommt state raus.

                  1 Reply Last reply Reply Quote 1
                  • paul53
                    paul53 @MartinP last edited by

                    @martinp sagte: Wie kann man das "typeof" als Blockly formulieren?

                    Blockly_temp.JPG

                    MartinP 1 Reply Last reply Reply Quote 1
                    • MartinP
                      MartinP @paul53 last edited by

                      @paul53

                      "script.js.Energiezaehler.Gaszaehler: NulKubikWork ist vom Typ string"
                      

                      Aber merkwürdig - Wieso hat der nicht gesetzte Haken "als String" nicht dazu geführt, dass da eine Float-Zahl aus dem Vis View übertragen wurde?

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @MartinP last edited by

                        @martinp sagte: Wieso hat der nicht gesetzte Haken "als String" nicht dazu geführt, dass da eine Float-Zahl aus dem Vis View übertragen wurde?

                        Vermutung: Komma anstelle Punkt eingegeben?

                        MartinP 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @haus-automatisierung last edited by

                          @haus-automatisierung sagte in Merkwürdiges Typ-Problem:

                          Aber "Zeichen nach Komma" klingt ja schon nach String.

                          reingefallen 😁
                          ist Zeichen nach Punkt. und nur für die Darstellung

                          haus-automatisierung 1 Reply Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @Homoran last edited by

                            @homoran sagte in Merkwürdiges Typ-Problem:

                            ist Zeichen nach Punkt.

                            Alleine der Begriff "Zeichen" lässt doch schon einen String vermuten. Oder die Option hat nur eine Wirkung, wenn man auch "als String" anhakt. Fragen über Fragen. Da müsste man wohl das Widget genauer anschauen um das zu verstehen.

                            Homoran 1 Reply Last reply Reply Quote 0
                            • MartinP
                              MartinP @paul53 last edited by

                              @paul53

                              @paul53 said in Merkwürdiges Typ-Problem:

                              @martinp sagte: Wieso hat der nicht gesetzte Haken "als String" nicht dazu geführt, dass da eine Float-Zahl aus dem Vis View übertragen wurde?

                              Vermutung: Komma anstelle Punkt eingegeben?

                              Das scheint der Fall zu sein - wenn ich im Datenpunkt den Typ auf "Zahl" ändere, ist das auch nur von kurzer Dauer, dann wird das wieder nach String geändert ...

                              Vielleicht liegt es am jqui-input control, was unbedingt einen Dezimalpunkt nutzen will ...

                              1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @haus-automatisierung last edited by

                                @haus-automatisierung sagte in Merkwürdiges Typ-Problem:

                                Alleine der Begriff "Zeichen" lässt doch schon einen String vermuten. Oder die Option hat nur eine Wirkung, wenn man auch "als String" anhakt. Fragen über Fragen

                                da kennst du die Historie und den Entwickler wohl nicht 😉

                                MartinP 1 Reply Last reply Reply Quote 0
                                • MartinP
                                  MartinP @Homoran last edited by MartinP

                                  @homoran Das ist eine merkwürdige Geschichte, irgendwie im Dunstkreis des üblichen Punkt/Komma Ärgers ...

                                  dieses Jqui - input Control scheint da bei unverändertem Zurückschreiben des Wertes aus der Maske den Typ auf "Number" zu belassen, und sobald man die letze Nachpunktstelle editiert wird der Typ auf String geändert ...

                                  Editiert man auch den Dezimalpunkt, und ersetzt ihn durch ein Komma, werden alle Nachkommastelle auf Null gesetzt ...

                                  Das Control scheint unbrauchbar oder zumindest "sperrig" bei deutscher Lokalisierung ...

                                  paul53 haus-automatisierung 2 Replies Last reply Reply Quote 0
                                  • paul53
                                    paul53 @MartinP last edited by

                                    @martinp sagte: Das Control scheint unbrauchbar

                                    Gerade getestet: Das Widget liefert immer einen String - egal ob mit Punkt oder Komma.

                                    MartinP 1 Reply Last reply Reply Quote 1
                                    • MartinP
                                      MartinP @paul53 last edited by

                                      @paul53 Ich habe jetzt erstmal aus der Not an dieser Stelle auf String umgestellt ...

                                      Userdata Variable auf Typ "String" umgestellt, und "als String" im Control angehakt - dann weiß man wenigstens dass nicht in irgendwelchen Situationen doch eine Zahl geschrieben wird ....

                                      Wäre wirklich interessant, ob das bei Vis.2 besser wird ...

                                      1 Reply Last reply Reply Quote 0
                                      • haus-automatisierung
                                        haus-automatisierung Developer Most Active @MartinP last edited by

                                        @martinp sagte in Merkwürdiges Typ-Problem:

                                        irgendwie im Dunstkreis des üblichen Punkt/Komma Ärgers ...

                                        Da gibt es keinen Ärger. Ganz einfache Regel: Immer mit Punkt und der US-Schreibweise arbeiten. Also dem richtigen Datentypen. Und das Frontend (Admin-Adapter, VIS, Grafana, …) formatiert den Wert entsprechend der Locale des Nutzers. Alles andere führt nur zu Problemen und ständigen Typkonvertierungen.

                                        Dann hat man auch keine Probleme mit Scripts, Berechnungen, in JSON, InfluxDB/Datenbanken usw.

                                        MartinP 1 Reply Last reply Reply Quote 1
                                        • MartinP
                                          MartinP @haus-automatisierung last edited by

                                          @haus-automatisierung Das wäre schön - und dann gibt es irgendein Widget, das sagt LOCAL=DE, also Dezimalzeichen AUSSCHLIESSLICH Komma... wenn ich einen Punkt sehe, ist das also ein String ....

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

                                            Jetzt muss ich erstmal meine Influx-DB "frisieren" und einen Fehlschuss durch die Experimente mit der Kalibrierung der Gaszählermessung entfernen ....

                                            4341ced1-093e-432a-bb0c-a5d17ecf7c16-grafik.png

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            918
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            24
                                            495
                                            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