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: Sein oder nicht sein, öhm Json oder nicht ;-)

NEWS

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

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

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

Gelöst: Sein oder nicht sein, öhm Json oder nicht ;-)

Geplant Angeheftet Gesperrt Verschoben JavaScript
11 Beiträge 6 Kommentatoren 372 Aufrufe 2 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.
  • M Offline
    M Offline
    mendikant
    schrieb am zuletzt editiert von mendikant
    #1

    Ich möchte einen Datenpunkt für meine Viessmann Heizung setzen. Die Viessmann Api erwartet an der Stelle ein JSON-Object.
    Nennt man das so?

    Im Folgenden mein Testaufbau. die var Temp_Diff ziehe ich mir natürlich produktiv aus einer Rechnung.

    var Temp_Diff = 2
    const Kurve = {"slope":0.4,"shift":Temp_Diff};
    const KKurve = JSON.stringify(Kurve);
    setState("viessmannapi.0.XXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue",KKurve);
    

    Wenn ich "Kurve" in den Setstate schreibe, bekomme ich von der Api zurück, dass ich bitte einen json setzen soll.
    Bei KKurve meckert die API nicht, offensichtlich ist es also ein JSON geworden.

    ABER: Das Logfile vom Iobroker Javascript sagt mir dann:
    You are assigning a string to the state "viessmannapi.0.XXXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue" which expects a object. Please fix your code to use a object or change the state type to string. This warning might become an error in future versions.

    Ist das jetzt nen String oder nicht? Muss ich da für die Zukunft was beachten?

    Danke und Gruß

    Mendikant

    paul53P T 3 Antworten Letzte Antwort
    0
    • M mendikant

      Ich möchte einen Datenpunkt für meine Viessmann Heizung setzen. Die Viessmann Api erwartet an der Stelle ein JSON-Object.
      Nennt man das so?

      Im Folgenden mein Testaufbau. die var Temp_Diff ziehe ich mir natürlich produktiv aus einer Rechnung.

      var Temp_Diff = 2
      const Kurve = {"slope":0.4,"shift":Temp_Diff};
      const KKurve = JSON.stringify(Kurve);
      setState("viessmannapi.0.XXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue",KKurve);
      

      Wenn ich "Kurve" in den Setstate schreibe, bekomme ich von der Api zurück, dass ich bitte einen json setzen soll.
      Bei KKurve meckert die API nicht, offensichtlich ist es also ein JSON geworden.

      ABER: Das Logfile vom Iobroker Javascript sagt mir dann:
      You are assigning a string to the state "viessmannapi.0.XXXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue" which expects a object. Please fix your code to use a object or change the state type to string. This warning might become an error in future versions.

      Ist das jetzt nen String oder nicht? Muss ich da für die Zukunft was beachten?

      Danke und Gruß

      Mendikant

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

      @mendikant sagte: Please fix your code to use a object

      Lass JSON.stringify() weg. Der Javascript-Adapter wandelt es selbst in ein JSON, wenn der Datenpunkt vom Typ "object" ist.

      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
      0
      • M mendikant

        Ich möchte einen Datenpunkt für meine Viessmann Heizung setzen. Die Viessmann Api erwartet an der Stelle ein JSON-Object.
        Nennt man das so?

        Im Folgenden mein Testaufbau. die var Temp_Diff ziehe ich mir natürlich produktiv aus einer Rechnung.

        var Temp_Diff = 2
        const Kurve = {"slope":0.4,"shift":Temp_Diff};
        const KKurve = JSON.stringify(Kurve);
        setState("viessmannapi.0.XXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue",KKurve);
        

        Wenn ich "Kurve" in den Setstate schreibe, bekomme ich von der Api zurück, dass ich bitte einen json setzen soll.
        Bei KKurve meckert die API nicht, offensichtlich ist es also ein JSON geworden.

        ABER: Das Logfile vom Iobroker Javascript sagt mir dann:
        You are assigning a string to the state "viessmannapi.0.XXXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue" which expects a object. Please fix your code to use a object or change the state type to string. This warning might become an error in future versions.

        Ist das jetzt nen String oder nicht? Muss ich da für die Zukunft was beachten?

        Danke und Gruß

        Mendikant

        T Nicht stören
        T Nicht stören
        ticaki
        schrieb am zuletzt editiert von ticaki
        #3

        @mendikant

        Soweit mir bekannt ist wird ein Json mit JSON.stringify in einen State geschrieben mit common.type = 'string', common.role = 'json'

        https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md#common

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        paul53P 1 Antwort Letzte Antwort
        1
        • T ticaki

          @mendikant

          Soweit mir bekannt ist wird ein Json mit JSON.stringify in einen State geschrieben mit common.type = 'string', common.role = 'json'

          https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md#common

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

          @ticaki sagte: common.type = 'string', common.role = 'json'

          Ja, aber offenbar ist der Datenpunkt vom Typ "object" (vom Adapter so vorgegeben?).

          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
          0
          • M mendikant

            Ich möchte einen Datenpunkt für meine Viessmann Heizung setzen. Die Viessmann Api erwartet an der Stelle ein JSON-Object.
            Nennt man das so?

            Im Folgenden mein Testaufbau. die var Temp_Diff ziehe ich mir natürlich produktiv aus einer Rechnung.

            var Temp_Diff = 2
            const Kurve = {"slope":0.4,"shift":Temp_Diff};
            const KKurve = JSON.stringify(Kurve);
            setState("viessmannapi.0.XXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue",KKurve);
            

            Wenn ich "Kurve" in den Setstate schreibe, bekomme ich von der Api zurück, dass ich bitte einen json setzen soll.
            Bei KKurve meckert die API nicht, offensichtlich ist es also ein JSON geworden.

            ABER: Das Logfile vom Iobroker Javascript sagt mir dann:
            You are assigning a string to the state "viessmannapi.0.XXXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue" which expects a object. Please fix your code to use a object or change the state type to string. This warning might become an error in future versions.

            Ist das jetzt nen String oder nicht? Muss ich da für die Zukunft was beachten?

            Danke und Gruß

            Mendikant

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

            @mendikant sagte: bekomme ich von der Api zurück, dass ich bitte einen json setzen soll.

            Dann ist es ein Fehler des Adapters, denn im Datenpunkt steht ein JSON.

            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

            M 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @mendikant sagte: bekomme ich von der Api zurück, dass ich bitte einen json setzen soll.

              Dann ist es ein Fehler des Adapters, denn im Datenpunkt steht ein JSON.

              M Offline
              M Offline
              mendikant
              schrieb am zuletzt editiert von
              #6

              @paul53

              wie geschrieben: Ohne den Stringify meckert die Api:

              viessmannapi.0   2023-09-28 13:23:32.950	  info	Please use a valid JSON: {"slope": x, "shift": y}
              viessmannapi.0  2023-09-28 13:23:32.949	  error	SyntaxError: Unexpected token o in JSON at position 1
              

              Mit Stringify meckert der JS Adapter, aber die API nimmt die Werte an.

              javascript.02023-09-28 13:25:40.970	warn	You are assigning a string to the state "viessmannapi.0.XXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue" which expects a object. Please fix your code to use a object or change the state type to string. This warning might become an error in future versions.
              

              Hier nochmal die Eigenschaften des Datenpunktes.

              {
                "type": "state",
                "common": {
                  "name": "Einstellungen sind hier änderbar / You can change the settings here",
                  "role": "value",
                  "type": "object",
                  "write": true,
                  "read": true,
                  "param": [
                    {
                      "param": "slope",
                      "type": "number",
                      "min": 0.2,
                      "max": 3.5
                    },
                    {
                      "param": "shift",
                      "type": "number",
                      "min": -13,
                      "max": 40
                    }
                  ]
                },
                "native": {},
                "from": "system.adapter.viessmannapi.0",
                "user": "system.user.admin",
                "ts": XXXXXXXX,
                "_id": "viessmannapi.0.XXXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue",
                "acl": {
                  "object": 1636,
                  "state": 1636,
                  "file": 1632,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                }
              }
              

              Also Issue beim JS Adapter aufmachen?

              VG
              Mendikant

              mickymM 1 Antwort Letzte Antwort
              0
              • M mendikant

                @paul53

                wie geschrieben: Ohne den Stringify meckert die Api:

                viessmannapi.0   2023-09-28 13:23:32.950	  info	Please use a valid JSON: {"slope": x, "shift": y}
                viessmannapi.0  2023-09-28 13:23:32.949	  error	SyntaxError: Unexpected token o in JSON at position 1
                

                Mit Stringify meckert der JS Adapter, aber die API nimmt die Werte an.

                javascript.02023-09-28 13:25:40.970	warn	You are assigning a string to the state "viessmannapi.0.XXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue" which expects a object. Please fix your code to use a object or change the state type to string. This warning might become an error in future versions.
                

                Hier nochmal die Eigenschaften des Datenpunktes.

                {
                  "type": "state",
                  "common": {
                    "name": "Einstellungen sind hier änderbar / You can change the settings here",
                    "role": "value",
                    "type": "object",
                    "write": true,
                    "read": true,
                    "param": [
                      {
                        "param": "slope",
                        "type": "number",
                        "min": 0.2,
                        "max": 3.5
                      },
                      {
                        "param": "shift",
                        "type": "number",
                        "min": -13,
                        "max": 40
                      }
                    ]
                  },
                  "native": {},
                  "from": "system.adapter.viessmannapi.0",
                  "user": "system.user.admin",
                  "ts": XXXXXXXX,
                  "_id": "viessmannapi.0.XXXXXXX.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "file": 1632,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  }
                }
                

                Also Issue beim JS Adapter aufmachen?

                VG
                Mendikant

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #7

                @mendikant Ändere halt einfach den Datenpunkt auf string oder json und nutze stringify. Ich schreibe Objekte auch immer als string in Datenpunkte.

                af6492ba-d22e-4992-84b2-1fdc216ccbec-image.png

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                M 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @mendikant Ändere halt einfach den Datenpunkt auf string oder json und nutze stringify. Ich schreibe Objekte auch immer als string in Datenpunkte.

                  af6492ba-d22e-4992-84b2-1fdc216ccbec-image.png

                  M Offline
                  M Offline
                  mendikant
                  schrieb am zuletzt editiert von
                  #8

                  @mickym Danke, so geht es. Auf die Idee hätte ich kommen können....

                  1 Antwort Letzte Antwort
                  0
                  • R Online
                    R Online
                    Robert 6
                    schrieb zuletzt editiert von
                    #9

                    Hallo
                    hier steig ich leider aus: "Ändere halt einfach den Datenpunkt auf string oder json und nutze stringify. Ich schreibe Objekte auch immer als string in Datenpunkte."
                    Wie bzw. Wo kann ich "einfach" den Datenpunkt ändern?

                    grafik.png

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • R Robert 6

                      Hallo
                      hier steig ich leider aus: "Ändere halt einfach den Datenpunkt auf string oder json und nutze stringify. Ich schreibe Objekte auch immer als string in Datenpunkte."
                      Wie bzw. Wo kann ich "einfach" den Datenpunkt ändern?

                      grafik.png

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

                      @Robert-6 sagte in Gelöst: Sein oder nicht sein, öhm Json oder nicht ;-):

                      Wie bzw. Wo kann ich "einfach" den Datenpunkt ändern?

                      Expertenmodus - Bleistift rechts außen

                      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
                      0
                      • R Online
                        R Online
                        Robert 6
                        schrieb zuletzt editiert von
                        #11

                        Easy - wenn man weiß wie - vielen Dank

                        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

                        771

                        Online

                        32.4k

                        Benutzer

                        81.6k

                        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