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. Blockly
  5. [gelöst] Variable als number deklarieren

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    524

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

[gelöst] Variable als number deklarieren

Geplant Angeheftet Gesperrt Verschoben Blockly
13 Beiträge 3 Kommentatoren 557 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.
  • Claus1985 0C Offline
    Claus1985 0C Offline
    Claus1985 0
    schrieb am zuletzt editiert von Claus1985 0
    #1

    Hallo Zusammen,

    habe gerade festgestellt, dass ich über Blockly variablen zwar einfach erstellen kann,
    allerdings ohne type. Wenn ich nun z.B. einen Datenpunkt number damit füllen möchte bekomme ich einen
    Fehler da die Variable scheinbar als string deklariert ist.

    Ich habe das über folgende function (welche ich hier gefunden habe) versucht zu lösen:

    var.PNG

    Code in der function:

    createState(ID, Init, {
        type: 'number',
        name: Name
    });
    

    Anschließend verwende ich die Variable dann in einem Skript um einen Wert in einem Datenpunkt zu speichern.
    Leider erhalte ich trotzdem folgenden Fehler:

    You are assigning a object to the state "0_userdata.0.Durchschnitt_Strom_Shelly.Anzahl_Resets" which expects a number. Please fix your code to use a number or change the state type to object.
    

    Kann mir hier jemand einen Tipp geben was ich ändern muss damit das klappt?
    Kann ich die Variable vll sogar ohne function als number deklarieren?

    paul53P 1 Antwort Letzte Antwort
    0
    • Claus1985 0C Claus1985 0

      Hallo Zusammen,

      habe gerade festgestellt, dass ich über Blockly variablen zwar einfach erstellen kann,
      allerdings ohne type. Wenn ich nun z.B. einen Datenpunkt number damit füllen möchte bekomme ich einen
      Fehler da die Variable scheinbar als string deklariert ist.

      Ich habe das über folgende function (welche ich hier gefunden habe) versucht zu lösen:

      var.PNG

      Code in der function:

      createState(ID, Init, {
          type: 'number',
          name: Name
      });
      

      Anschließend verwende ich die Variable dann in einem Skript um einen Wert in einem Datenpunkt zu speichern.
      Leider erhalte ich trotzdem folgenden Fehler:

      You are assigning a object to the state "0_userdata.0.Durchschnitt_Strom_Shelly.Anzahl_Resets" which expects a number. Please fix your code to use a number or change the state type to object.
      

      Kann mir hier jemand einen Tipp geben was ich ändern muss damit das klappt?
      Kann ich die Variable vll sogar ohne function als number deklarieren?

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

      @claus1985-0
      Wo und wie wird in den Datenpunkt "0_userdata.0.Durchschnitt_Strom_Shelly.Anzahl_Resets" geschrieben?

      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

      Claus1985 0C 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @claus1985-0
        Wo und wie wird in den Datenpunkt "0_userdata.0.Durchschnitt_Strom_Shelly.Anzahl_Resets" geschrieben?

        Claus1985 0C Offline
        Claus1985 0C Offline
        Claus1985 0
        schrieb am zuletzt editiert von Claus1985 0
        #3

        @paul53 Hi Paul,

        der wird im rot markierten Teil geschrieben.
        Ich zähle in einer Variable nach Durchlaufen einer Schleife hoch und speichere den Wert der Variable dann
        im Datenpunkt um zu historisieren:

        674a38f0-ddaf-4b92-8284-4e03964426c3-image.png

        Habe gerade festgestellt, dass er über die Variable den Wert {"ack":true} übergibt..
        Allerdings mache ich ja nichts anderes als das erst als number zu deklarieren und dann jeweils +1 zu erhöhen..

        paul53P 1 Antwort Letzte Antwort
        0
        • Claus1985 0C Claus1985 0

          @paul53 Hi Paul,

          der wird im rot markierten Teil geschrieben.
          Ich zähle in einer Variable nach Durchlaufen einer Schleife hoch und speichere den Wert der Variable dann
          im Datenpunkt um zu historisieren:

          674a38f0-ddaf-4b92-8284-4e03964426c3-image.png

          Habe gerade festgestellt, dass er über die Variable den Wert {"ack":true} übergibt..
          Allerdings mache ich ja nichts anderes als das erst als number zu deklarieren und dann jeweils +1 zu erhöhen..

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

          @claus1985-0 sagte: Ich zähle in einer Variable nach Durchlaufen einer Schleife hoch

          Das muss außerhalb des falls-Blockes erfolgen:

          Bild_2022-06-18_171108257.png

          Damit der Wert einen Skriptstart überlebt, muss der Datenpunktwert bei Skriptstart in die Variable eingelesen werden.

          @claus1985-0 sagte in Variable als number deklarieren:

          Kann ich die Variable vll sogar ohne function als number deklarieren?

          Bild_2022-06-18_171445338.png

          Common im JSON-Format übergeben.

          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

          Claus1985 0C 1 Antwort Letzte Antwort
          2
          • paul53P paul53

            @claus1985-0 sagte: Ich zähle in einer Variable nach Durchlaufen einer Schleife hoch

            Das muss außerhalb des falls-Blockes erfolgen:

            Bild_2022-06-18_171108257.png

            Damit der Wert einen Skriptstart überlebt, muss der Datenpunktwert bei Skriptstart in die Variable eingelesen werden.

            @claus1985-0 sagte in Variable als number deklarieren:

            Kann ich die Variable vll sogar ohne function als number deklarieren?

            Bild_2022-06-18_171445338.png

            Common im JSON-Format übergeben.

            Claus1985 0C Offline
            Claus1985 0C Offline
            Claus1985 0
            schrieb am zuletzt editiert von
            #5

            @paul53 Hi Paul, danke für die Hinweise verstehe ich das so richtig?

            1. Datenpunkt bei Skriptstart in Variable einlesen
            2. Im Falls Block die Variable nur um eins hochsetzen
            3. Den Datenpunkt außerhalb des Falls-Blocks mit der Variable überschreiben

            Quasi so:
            efae0997-9c4e-4ce8-a881-bb0c79393de9-image.png

            Eine Frage auch noch zu deinem JSON code im common. Warum wird "def" benötigt?

            Danke Dir und Gruß,

            Claus

            HomoranH paul53P 2 Antworten Letzte Antwort
            0
            • Claus1985 0C Claus1985 0

              @paul53 Hi Paul, danke für die Hinweise verstehe ich das so richtig?

              1. Datenpunkt bei Skriptstart in Variable einlesen
              2. Im Falls Block die Variable nur um eins hochsetzen
              3. Den Datenpunkt außerhalb des Falls-Blocks mit der Variable überschreiben

              Quasi so:
              efae0997-9c4e-4ce8-a881-bb0c79393de9-image.png

              Eine Frage auch noch zu deinem JSON code im common. Warum wird "def" benötigt?

              Danke Dir und Gruß,

              Claus

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

              @claus1985-0 sagte in Variable als number deklarieren:

              Warum wird "def" benötigt?

              das istcder default Wert, der gesetzt wird, wenn der Datenpunkt noch nicht beschrieben wurde.

              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 -

              Claus1985 0C 1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @claus1985-0 sagte in Variable als number deklarieren:

                Warum wird "def" benötigt?

                das istcder default Wert, der gesetzt wird, wenn der Datenpunkt noch nicht beschrieben wurde.

                Claus1985 0C Offline
                Claus1985 0C Offline
                Claus1985 0
                schrieb am zuletzt editiert von
                #7

                @homoran wird der nicht über Init-Wert gesetzt? So hatte ich das zumindest verstanden..

                1 Antwort Letzte Antwort
                0
                • Claus1985 0C Claus1985 0

                  @paul53 Hi Paul, danke für die Hinweise verstehe ich das so richtig?

                  1. Datenpunkt bei Skriptstart in Variable einlesen
                  2. Im Falls Block die Variable nur um eins hochsetzen
                  3. Den Datenpunkt außerhalb des Falls-Blocks mit der Variable überschreiben

                  Quasi so:
                  efae0997-9c4e-4ce8-a881-bb0c79393de9-image.png

                  Eine Frage auch noch zu deinem JSON code im common. Warum wird "def" benötigt?

                  Danke Dir und Gruß,

                  Claus

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

                  @claus1985-0 sagte: Quasi so:

                  Nein. Vergleiche mit meinem Bild:

                  • Variablen außerhalb des falls-Blockes setzen / erhöhen und Wert in Datenpunkt schreiben
                  • Bei Skriptstart (außerhalb des Triggers) den Datenpunktwert in die Variable Summe_Resets einlesen.

                  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

                  Claus1985 0C 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @claus1985-0 sagte: Quasi so:

                    Nein. Vergleiche mit meinem Bild:

                    • Variablen außerhalb des falls-Blockes setzen / erhöhen und Wert in Datenpunkt schreiben
                    • Bei Skriptstart (außerhalb des Triggers) den Datenpunktwert in die Variable Summe_Resets einlesen.
                    Claus1985 0C Offline
                    Claus1985 0C Offline
                    Claus1985 0
                    schrieb am zuletzt editiert von
                    #9

                    @paul53 allerdings verliert die Logik dann ja ihre Funktion?
                    Mein Ziel ist ja, die Variable nur dann hochzuzählen, wenn die Bedingungen im Falls-Block erfüllt sind.

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • Claus1985 0C Claus1985 0

                      @paul53 allerdings verliert die Logik dann ja ihre Funktion?
                      Mein Ziel ist ja, die Variable nur dann hochzuzählen, wenn die Bedingungen im Falls-Block erfüllt sind.

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

                      @claus1985-0 sagte: Variable nur dann hochzuzählen, wenn die Bedingungen im Falls-Block erfüllt sind.

                      Gut, dann müssen aber die beiden anderen Variablen außerhalb des falls-Blockes gesetzt werden.

                      Bild_2022-06-18_175145074.png

                      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

                      Claus1985 0C 1 Antwort Letzte Antwort
                      1
                      • paul53P paul53

                        @claus1985-0 sagte: Variable nur dann hochzuzählen, wenn die Bedingungen im Falls-Block erfüllt sind.

                        Gut, dann müssen aber die beiden anderen Variablen außerhalb des falls-Blockes gesetzt werden.

                        Bild_2022-06-18_175145074.png

                        Claus1985 0C Offline
                        Claus1985 0C Offline
                        Claus1985 0
                        schrieb am zuletzt editiert von
                        #11

                        @paul53 danke Dir! :-)
                        Eine Frage noch zur Deklaration der Variable am Skript-Start.
                        Wenn ich den Datenpunkt bei Init-Wert angebe, muss ich dann im Common trotzdem "def" ebenfalls angeben
                        oder genügen da type und name?

                        e3d3e32b-b411-4581-8ca4-3d24801b65c2-image.png

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • Claus1985 0C Claus1985 0

                          @paul53 danke Dir! :-)
                          Eine Frage noch zur Deklaration der Variable am Skript-Start.
                          Wenn ich den Datenpunkt bei Init-Wert angebe, muss ich dann im Common trotzdem "def" ebenfalls angeben
                          oder genügen da type und name?

                          e3d3e32b-b411-4581-8ca4-3d24801b65c2-image.png

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

                          @claus1985-0 sagte: muss ich dann im Common trotzdem "def" ebenfalls angeben oder genügen da type und name?

                          Da bin ich mir nicht sicher, denn es hat sich diesbezüglich etwas geändert. Probiere es aus.

                          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

                          Claus1985 0C 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @claus1985-0 sagte: muss ich dann im Common trotzdem "def" ebenfalls angeben oder genügen da type und name?

                            Da bin ich mir nicht sicher, denn es hat sich diesbezüglich etwas geändert. Probiere es aus.

                            Claus1985 0C Offline
                            Claus1985 0C Offline
                            Claus1985 0
                            schrieb am zuletzt editiert von
                            #13

                            @paul53 habs ausprobiert, ist notwendig. Ohne kommt der bekannte Fehler mit number erwartet aber string erhalten.
                            Danke für Deine Hilfe!

                            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

                            848

                            Online

                            32.5k

                            Benutzer

                            81.8k

                            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