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. JavaScript
  5. [gelöst] 1 + 2 = 12?

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[gelöst] 1 + 2 = 12?

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 5 Kommentatoren 448 Aufrufe 3 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.
  • I Offline
    I Offline
    iob69
    schrieb am zuletzt editiert von iob69
    #1

    Ich möchte zum heutigen Tag ein paar tage hinzuzählen. Nachdem das nicht geklappt hat hab ich es Schritt für Schritt programmiert:

    on(DPBewaesserungAnzalTage, async (data) => { 
       let day = new Date();
        let days:number = getState(DPBewaesserungAnzalTage).val;
        let date:number = day.getDate();
        let newDate:number = date + days;
        console.log(days);
        console.log(date);
        console.log(newDate);
        day.setDate(newDate);
        console.log(day.toLocaleString());
    });
    

    Gebe ich im Datenpunkt "DPBewaesserungAnzalTage" 5 ein, bekomme ich in newDate 225, gebe ich 6 ein bekomme ich 226, wie wenn er strings zusammen legt:
    Man beachte, dass die variablen alle (ausser day) vom typ number sind.
    8c359b30-f52e-46d0-bec9-4f3e63f565d7-grafik.png

    gebe ich den code in https://playcode.io/typescript ein (natürlich mit einer konstanten anstelle des Datenpunktes) läuft alles richtig:
    ec7a2005-9d13-4a0c-914b-a1057fcd5dfd-grafik.png

    Was mach ich falsch???

    HomoranH haus-automatisierungH Jey CeeJ paul53P 4 Antworten Letzte Antwort
    0
    • I iob69

      Ich möchte zum heutigen Tag ein paar tage hinzuzählen. Nachdem das nicht geklappt hat hab ich es Schritt für Schritt programmiert:

      on(DPBewaesserungAnzalTage, async (data) => { 
         let day = new Date();
          let days:number = getState(DPBewaesserungAnzalTage).val;
          let date:number = day.getDate();
          let newDate:number = date + days;
          console.log(days);
          console.log(date);
          console.log(newDate);
          day.setDate(newDate);
          console.log(day.toLocaleString());
      });
      

      Gebe ich im Datenpunkt "DPBewaesserungAnzalTage" 5 ein, bekomme ich in newDate 225, gebe ich 6 ein bekomme ich 226, wie wenn er strings zusammen legt:
      Man beachte, dass die variablen alle (ausser day) vom typ number sind.
      8c359b30-f52e-46d0-bec9-4f3e63f565d7-grafik.png

      gebe ich den code in https://playcode.io/typescript ein (natürlich mit einer konstanten anstelle des Datenpunktes) läuft alles richtig:
      ec7a2005-9d13-4a0c-914b-a1057fcd5dfd-grafik.png

      Was mach ich falsch???

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

      @iob69 sagte in 1 + 2 = 12?:

      Gebe ich im Datenpunkt "DPBewaesserungAnzalTage" 5 ein, bekomme ich in newDate 225, gebe ich 5 ein bekomme ich 226,

      einmal 5 und einmal 5???

      @iob69 sagte in 1 + 2 = 12?:

      wie wenn er strings zusammen legt:
      Man beachte, dass die variablen alle (ausser day) vom typ number sind.

      und der eingelesene Wert ist vom Typ???

      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 -

      I 1 Antwort Letzte Antwort
      1
      • I iob69

        Ich möchte zum heutigen Tag ein paar tage hinzuzählen. Nachdem das nicht geklappt hat hab ich es Schritt für Schritt programmiert:

        on(DPBewaesserungAnzalTage, async (data) => { 
           let day = new Date();
            let days:number = getState(DPBewaesserungAnzalTage).val;
            let date:number = day.getDate();
            let newDate:number = date + days;
            console.log(days);
            console.log(date);
            console.log(newDate);
            day.setDate(newDate);
            console.log(day.toLocaleString());
        });
        

        Gebe ich im Datenpunkt "DPBewaesserungAnzalTage" 5 ein, bekomme ich in newDate 225, gebe ich 6 ein bekomme ich 226, wie wenn er strings zusammen legt:
        Man beachte, dass die variablen alle (ausser day) vom typ number sind.
        8c359b30-f52e-46d0-bec9-4f3e63f565d7-grafik.png

        gebe ich den code in https://playcode.io/typescript ein (natürlich mit einer konstanten anstelle des Datenpunktes) läuft alles richtig:
        ec7a2005-9d13-4a0c-914b-a1057fcd5dfd-grafik.png

        Was mach ich falsch???

        haus-automatisierungH Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von haus-automatisierung
        #3

        @iob69 sagte in 1 + 2 = 12?:

        Man beachte, dass die variablen alle (ausser day) vom typ number sind.

        Was gibt dir denn

        console. log (typeof days);
        console. log (typeof date);
        

        Und welchen Datentyp hat der State mit der Objekt ID DPBewaesserungAnzalTage

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        1 Antwort Letzte Antwort
        2
        • I iob69

          Ich möchte zum heutigen Tag ein paar tage hinzuzählen. Nachdem das nicht geklappt hat hab ich es Schritt für Schritt programmiert:

          on(DPBewaesserungAnzalTage, async (data) => { 
             let day = new Date();
              let days:number = getState(DPBewaesserungAnzalTage).val;
              let date:number = day.getDate();
              let newDate:number = date + days;
              console.log(days);
              console.log(date);
              console.log(newDate);
              day.setDate(newDate);
              console.log(day.toLocaleString());
          });
          

          Gebe ich im Datenpunkt "DPBewaesserungAnzalTage" 5 ein, bekomme ich in newDate 225, gebe ich 6 ein bekomme ich 226, wie wenn er strings zusammen legt:
          Man beachte, dass die variablen alle (ausser day) vom typ number sind.
          8c359b30-f52e-46d0-bec9-4f3e63f565d7-grafik.png

          gebe ich den code in https://playcode.io/typescript ein (natürlich mit einer konstanten anstelle des Datenpunktes) läuft alles richtig:
          ec7a2005-9d13-4a0c-914b-a1057fcd5dfd-grafik.png

          Was mach ich falsch???

          Jey CeeJ Online
          Jey CeeJ Online
          Jey Cee
          Developer
          schrieb am zuletzt editiert von
          #4

          @iob69 nur weil du sagst das der Type number sein soll ist es keineswegs eine Nummer. Wenn du mit typeof prüfst ist sicher eins davon ein String.

          Im Zweifel musst du den Typ deiner Eingabe mit Int() Konvertieren.

          Als erstes würde ich jedoch Mal den Datenpunkt checken ob der auch als number angelegt wurde

          Persönlicher Support
          Spenden -> paypal.me/J3YC33

          I 1 Antwort Letzte Antwort
          2
          • I iob69

            Ich möchte zum heutigen Tag ein paar tage hinzuzählen. Nachdem das nicht geklappt hat hab ich es Schritt für Schritt programmiert:

            on(DPBewaesserungAnzalTage, async (data) => { 
               let day = new Date();
                let days:number = getState(DPBewaesserungAnzalTage).val;
                let date:number = day.getDate();
                let newDate:number = date + days;
                console.log(days);
                console.log(date);
                console.log(newDate);
                day.setDate(newDate);
                console.log(day.toLocaleString());
            });
            

            Gebe ich im Datenpunkt "DPBewaesserungAnzalTage" 5 ein, bekomme ich in newDate 225, gebe ich 6 ein bekomme ich 226, wie wenn er strings zusammen legt:
            Man beachte, dass die variablen alle (ausser day) vom typ number sind.
            8c359b30-f52e-46d0-bec9-4f3e63f565d7-grafik.png

            gebe ich den code in https://playcode.io/typescript ein (natürlich mit einer konstanten anstelle des Datenpunktes) läuft alles richtig:
            ec7a2005-9d13-4a0c-914b-a1057fcd5dfd-grafik.png

            Was mach ich falsch???

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

            @iob69 sagte: Datenpunkt "DPBewaesserungAnzalTage" 5 ein

            Versuche es mal mit

                let days = parseInt(getState(DPBewaesserungAnzalTage).val);
            

            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

            1 Antwort Letzte Antwort
            1
            • HomoranH Homoran

              @iob69 sagte in 1 + 2 = 12?:

              Gebe ich im Datenpunkt "DPBewaesserungAnzalTage" 5 ein, bekomme ich in newDate 225, gebe ich 5 ein bekomme ich 226,

              einmal 5 und einmal 5???

              @iob69 sagte in 1 + 2 = 12?:

              wie wenn er strings zusammen legt:
              Man beachte, dass die variablen alle (ausser day) vom typ number sind.

              und der eingelesene Wert ist vom Typ???

              I Offline
              I Offline
              iob69
              schrieb am zuletzt editiert von
              #6

              @homoran sagte in 1 + 2 = 12?:

              einmal 5 und einmal 5???

              oben korrigiert.

              1 Antwort Letzte Antwort
              0
              • Jey CeeJ Jey Cee

                @iob69 nur weil du sagst das der Type number sein soll ist es keineswegs eine Nummer. Wenn du mit typeof prüfst ist sicher eins davon ein String.

                Im Zweifel musst du den Typ deiner Eingabe mit Int() Konvertieren.

                Als erstes würde ich jedoch Mal den Datenpunkt checken ob der auch als number angelegt wurde

                I Offline
                I Offline
                iob69
                schrieb am zuletzt editiert von iob69
                #7

                @jey-cee sagte in 1 + 2 = 12?:

                nur weil du sagst das der Type number sein soll ist es keineswegs eine Nummer. Wenn du mit typeof prüfst ist sicher eins davon ein String.

                Ja tatsächlich liefert mit der Datenpunkt DPBewaesserungAnzalTage einen String. Aber der ist vom Typ number!

                {
                  "common": {
                    "type": "number",
                    "desc": "Days between irrigations",
                    "name": "0_userdata.0.Steuerzentrale.Garten.Bewaesserung.AnzalTage",
                    "role": "state"
                  },
                  "native": {},
                  "type": "state",
                  "from": "system.adapter.javascript.0",
                  "user": "system.user.admin",
                  "ts": 1750595424888,
                  "_id": "0_userdata.0.Steuerzentrale.Garten.Bewaesserung.AnzalTage",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  }
                }
                

                Wieso liefert der mit einen String zurück, dann ist doch die Typenangabe völlig überflüssig!

                Ok, dann halt in number korrigieren, ist aber schon komisch.

                Edit: Das Control JQui Input liefert mir offenbar den String. Das hab ich nicht beachtet, dass der ja wohl auch für Buchstaben-Eingabe funktioniert.
                Allerdings kann man dort angeben "als string" was nicht der Fall war. Und man kann sogar stellen hinter dem Komma angeben. Er liefert trotzdem einen String...

                HomoranH haus-automatisierungH 2 Antworten Letzte Antwort
                0
                • I iob69

                  @jey-cee sagte in 1 + 2 = 12?:

                  nur weil du sagst das der Type number sein soll ist es keineswegs eine Nummer. Wenn du mit typeof prüfst ist sicher eins davon ein String.

                  Ja tatsächlich liefert mit der Datenpunkt DPBewaesserungAnzalTage einen String. Aber der ist vom Typ number!

                  {
                    "common": {
                      "type": "number",
                      "desc": "Days between irrigations",
                      "name": "0_userdata.0.Steuerzentrale.Garten.Bewaesserung.AnzalTage",
                      "role": "state"
                    },
                    "native": {},
                    "type": "state",
                    "from": "system.adapter.javascript.0",
                    "user": "system.user.admin",
                    "ts": 1750595424888,
                    "_id": "0_userdata.0.Steuerzentrale.Garten.Bewaesserung.AnzalTage",
                    "acl": {
                      "object": 1636,
                      "state": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    }
                  }
                  

                  Wieso liefert der mit einen String zurück, dann ist doch die Typenangabe völlig überflüssig!

                  Ok, dann halt in number korrigieren, ist aber schon komisch.

                  Edit: Das Control JQui Input liefert mir offenbar den String. Das hab ich nicht beachtet, dass der ja wohl auch für Buchstaben-Eingabe funktioniert.
                  Allerdings kann man dort angeben "als string" was nicht der Fall war. Und man kann sogar stellen hinter dem Komma angeben. Er liefert trotzdem einen String...

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

                  @iob69 sagte in [gelöst] 1 + 2 = 12?:

                  Datenpunkt DPBewaesserungAnzalTage einen String. Aber der ist vom Typ number!

                  Der DP kann vom Typ sein was er will, wenn du da einen String reinschreibst.
                  Dann gibt es zwar eine Meldung im log, die hastcdu wohl ignoriert.

                  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 -

                  1 Antwort Letzte Antwort
                  1
                  • I iob69

                    @jey-cee sagte in 1 + 2 = 12?:

                    nur weil du sagst das der Type number sein soll ist es keineswegs eine Nummer. Wenn du mit typeof prüfst ist sicher eins davon ein String.

                    Ja tatsächlich liefert mit der Datenpunkt DPBewaesserungAnzalTage einen String. Aber der ist vom Typ number!

                    {
                      "common": {
                        "type": "number",
                        "desc": "Days between irrigations",
                        "name": "0_userdata.0.Steuerzentrale.Garten.Bewaesserung.AnzalTage",
                        "role": "state"
                      },
                      "native": {},
                      "type": "state",
                      "from": "system.adapter.javascript.0",
                      "user": "system.user.admin",
                      "ts": 1750595424888,
                      "_id": "0_userdata.0.Steuerzentrale.Garten.Bewaesserung.AnzalTage",
                      "acl": {
                        "object": 1636,
                        "state": 1636,
                        "owner": "system.user.admin",
                        "ownerGroup": "system.group.administrator"
                      }
                    }
                    

                    Wieso liefert der mit einen String zurück, dann ist doch die Typenangabe völlig überflüssig!

                    Ok, dann halt in number korrigieren, ist aber schon komisch.

                    Edit: Das Control JQui Input liefert mir offenbar den String. Das hab ich nicht beachtet, dass der ja wohl auch für Buchstaben-Eingabe funktioniert.
                    Allerdings kann man dort angeben "als string" was nicht der Fall war. Und man kann sogar stellen hinter dem Komma angeben. Er liefert trotzdem einen String...

                    haus-automatisierungH Online
                    haus-automatisierungH Online
                    haus-automatisierung
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @iob69 sagte in [gelöst] 1 + 2 = 12?:

                    Edit: Das Control JQui Input liefert mir offenbar den String. Das hab ich nicht beachtet, dass der ja wohl auch für Buchstaben-Eingabe funktioniert.
                    Allerdings kann man dort angeben "als string" was nicht der Fall war. Und man kann sogar stellen hinter dem Komma angeben. Er liefert trotzdem einen String...

                    Dann ist das wohl ein Bug (oder so dokumentiert). Ansonsten könntest Du auch einen Alias nutzen um immer einen numerischen Wert zu parsen. Das Ziel von dem Input dann auf String umstellen, damit es keine Warnung im Log gibt

                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                    📚 Meine inoffizielle ioBroker Dokumentation

                    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

                    918

                    Online

                    32.4k

                    Benutzer

                    81.5k

                    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