Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Protokoll meckert String statt Number

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Protokoll meckert String statt Number

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kymchy last edited by Kymchy

      Hi,
      ich möchte einen Wert in einen vorher erstellten Datenpunkt schreiben:
      Bildschirmfoto vom 2022-05-30 12-03-16.png

      Der Datenpunkt ist vom Typ Number. Der Wert von consumptionMeterReading ist auch vom Typ Number:

      Bildschirmfoto vom 2022-05-30 12-09-13.png
      Bildschirmfoto vom 2022-05-30 12-10-36.png
      Trotzdem bekomme ich im Protokoll die Warnung, dass ich einen Wert vom Typ String in einen DP vom Wert Number schreiben will?
      Hat jemand dafür eine Erklärung?

      S paul53 3 Replies Last reply Reply Quote 0
      • S
        SpacerX @Kymchy last edited by SpacerX

        @kymchy

        Welchen Typ hat "Pfad_State_Meter_Reading" ? Bestimmt String?
        Wenn das so ist, versuchst du eine Nummer in einen String zu schreiben.

        K 1 Reply Last reply Reply Quote 0
        • K
          Kymchy @SpacerX last edited by

          @spacerx aber der Pfad ist doch der erste Parameter von setState, und ich dachte das könnte ein String sein...
          Ich kann die Objekt ID leider nicht zuordnen, da der State erst kurz vorher erstellt wird mit variablen Parametern.
          Wie könnte ich die Objekt ID denn anders zuordnen als über den Pfad?

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

            @kymchy sagte: Der Wert von consumptionMeterReading ist auch vom Typ Number:

            Was nicht zwangsweise bedeutet, dass er auch eine Zahl enthält.

            1 Reply Last reply Reply Quote 0
            • K
              Kymchy last edited by

              @paul53 doch, in diesem Fall schon

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

                @kymchy sagte: Warnung, dass ich einen Wert vom Typ String in einen DP vom Wert Number schreiben will?

                Prüfe den Typ mittels "Typ von" Wert von consumptionMeterReading.

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

                  @paul53 es geht hier wohl nicht um den Wert an sich, sondern um die Objekt ID, die in meinem Skript als String übergeben wird. Vermutlich sollte die Objekt ID aber vom Typ Number sein.
                  Ist nur in diesem Fall nicht möglich, weil der Datenpunkt erst kurz vorher dynamisch erzeugt wird.
                  Möglich wäre es, wenn ich anhand des Pfades die Objekt ID auslesen könnte, dann könnte ich sie korrekt übergeben. Ich weiß aber nicht, ob das geht bzw. wie.

                  paul53 S 2 Replies Last reply Reply Quote 0
                  • paul53
                    paul53 @Kymchy last edited by paul53

                    @kymchy sagte: es geht hier wohl nicht um den Wert an sich, sondern um die Objekt ID, die in meinem Skript als String übergeben wird. Vermutlich sollte die Objekt ID aber vom Typ Number sein.

                    Nein, die Objekt ID ist immer ein String.
                    Die Warnung kommt nur, wenn der Typ des zu schreibenden Wertes nicht mit common.type übereinstimmt.

                    Prüfung:

                    Bild_2022-05-30_141727378.png

                    K 1 Reply Last reply Reply Quote 0
                    • S
                      SpacerX @Kymchy last edited by

                      @kymchy

                      Du übergibst an schreibe die Objekt ID von "Pfad_State_Meter_Reading" und nicht den Pfad.
                      Du musst den Pfad erst als ID deklarieren. Wie das geht kann ich jetzt auch nicht sagen. Hab kein Blockly zur Hand.

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

                        @paul53 Bildschirmfoto vom 2022-05-30 14-21-32.png

                        also eine Zahl!

                        paul53 1 Reply Last reply Reply Quote 0
                        • K
                          Kymchy @SpacerX last edited by

                          @spacerx also liegt es doch an der Objekt ID.

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            SpacerX @Kymchy last edited by

                            @kymchy

                            Versuche es mal mit (Wert von Object ID) -> "Pfad_State_Meter_Reading",

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

                              @kymchy sagte: also eine Zahl!

                              Dann dürfte die Warnung "Wert vom Typ String in einen DP vom Wert Number schreiben" nicht kommen, es sei denn, es ist mal eine Zahl und mal ein String. In dem Fall wandle einfach nach Zahl.

                              1 Reply Last reply Reply Quote 0
                              • K
                                Kymchy last edited by

                                @spacerx leider geht es so nicht: State "null" not found

                                S 2 Replies Last reply Reply Quote 0
                                • S
                                  SpacerX @Kymchy last edited by

                                  @kymchy

                                  Dann schreibe den Pfad vorher in eine Variable und nimm die Variable für die Objekt ID. Vieleicht geht das. Vorausgesetzt der Datenpunkt auf den der Pfad zeigt existiert schon.

                                  K 1 Reply Last reply Reply Quote 0
                                  • K
                                    Kymchy @SpacerX last edited by

                                    @spacerx hatte ich auch schon versucht mit:

                                    function (path_jahreswert, value_Jahreswert)
                                                  setState(path_jahreswert,value_Jahreswert,true);
                                    

                                    ich vermute, man könnte die Objekt ID mit getState ermitteln.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      SpacerX @Kymchy last edited by

                                      @kymchy

                                      Lass dir den Pfad-String mal mit debug ausgeben. Entweder stimmt der nicht oder der Datenpunkt existert einfach noch nicht. Dann muss der natürlich erst angelegt werden bevor du darauf schreiben kannst.

                                      K 1 Reply Last reply Reply Quote 0
                                      • K
                                        Kymchy @SpacerX last edited by

                                        @spacerx die DPs werden ja korrekt geschrieben, also ich erhalte die Werte wie gewünscht. Nur das protokoll meckert.

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

                                          @kymchy sagte: Nur das protokoll meckert.

                                          Zeigen (in Code tags)!!

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

                                            @paul53 code tags?

                                            also den Pfad erstelle ich mit 'erstelle Text aus'.
                                            das ist dann doch wohl ein String, oder?

                                            paul53 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            820
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            51
                                            1212
                                            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