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. Einsteigerfragen
  4. DP von Sting nach Zahl konvertieren

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

DP von Sting nach Zahl konvertieren

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
17 Beiträge 4 Kommentatoren 555 Aufrufe 4 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.
  • Thomas BraunT Online
    Thomas BraunT Online
    Thomas Braun
    Most Active
    schrieb am zuletzt editiert von
    #1

    Ich hab hier einen DP, der als String reinkommt:

    {
      "common": {
        "name": "total_battery_power",
        "type": "string",
        "role": "value",
        "read": true,
        "write": true
      },
      "native": {
        "name": "total_battery_power",
        "type": "string",
        "role": "value",
        "read": true,
        "write": true
      },
      "type": "state",
      "from": "system.adapter.javascript.0",
      "user": "system.user.admin",
      "ts": 1698012478706,
      "_id": "0_userdata.0.solix.solarbank_info.total_battery_power",
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      }
    }
    

    wie kann ich den denn am elegantesten in etwas umwandeln, das ich mit 100 multiplizieren könnte? Sollte das nicht mit dem Alias-Adapter gehen? Den kapier ich allerdings nicht... ;-)

    Linux-Werkzeugkasten:
    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
    NodeJS Fixer Skript:
    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

    CodierknechtC paul53P 2 Antworten Letzte Antwort
    0
    • Thomas BraunT Thomas Braun

      Ich hab hier einen DP, der als String reinkommt:

      {
        "common": {
          "name": "total_battery_power",
          "type": "string",
          "role": "value",
          "read": true,
          "write": true
        },
        "native": {
          "name": "total_battery_power",
          "type": "string",
          "role": "value",
          "read": true,
          "write": true
        },
        "type": "state",
        "from": "system.adapter.javascript.0",
        "user": "system.user.admin",
        "ts": 1698012478706,
        "_id": "0_userdata.0.solix.solarbank_info.total_battery_power",
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      

      wie kann ich den denn am elegantesten in etwas umwandeln, das ich mit 100 multiplizieren könnte? Sollte das nicht mit dem Alias-Adapter gehen? Den kapier ich allerdings nicht... ;-)

      CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @thomas-braun sagte in DP von Sting nach Zahl konvertieren:

      Sollte das nicht mit dem Alias-Adapter gehen?

      Wieso mit dem Adapter?
      Lege Dir doch einen Alias im Baum an. Typ Zahl und dann die Konvertierungsfunktion nutzen.

      parseFloat(val)
      

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      Thomas BraunT 1 Antwort Letzte Antwort
      0
      • CodierknechtC Codierknecht

        @thomas-braun sagte in DP von Sting nach Zahl konvertieren:

        Sollte das nicht mit dem Alias-Adapter gehen?

        Wieso mit dem Adapter?
        Lege Dir doch einen Alias im Baum an. Typ Zahl und dann die Konvertierungsfunktion nutzen.

        parseFloat(val)
        
        Thomas BraunT Online
        Thomas BraunT Online
        Thomas Braun
        Most Active
        schrieb am zuletzt editiert von
        #3

        @codierknecht

        Ich steh echt auf dem Schlauch. Was meinst du genau?

        Linux-Werkzeugkasten:
        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
        NodeJS Fixer Skript:
        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

        CodierknechtC 1 Antwort Letzte Antwort
        0
        • Thomas BraunT Thomas Braun

          Ich hab hier einen DP, der als String reinkommt:

          {
            "common": {
              "name": "total_battery_power",
              "type": "string",
              "role": "value",
              "read": true,
              "write": true
            },
            "native": {
              "name": "total_battery_power",
              "type": "string",
              "role": "value",
              "read": true,
              "write": true
            },
            "type": "state",
            "from": "system.adapter.javascript.0",
            "user": "system.user.admin",
            "ts": 1698012478706,
            "_id": "0_userdata.0.solix.solarbank_info.total_battery_power",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            }
          }
          

          wie kann ich den denn am elegantesten in etwas umwandeln, das ich mit 100 multiplizieren könnte? Sollte das nicht mit dem Alias-Adapter gehen? Den kapier ich allerdings nicht... ;-)

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

          @thomas-braun: Ich hab hier einen DP, der als String reinkommt:

          Weshalb als String? Ein eigener Datenpunkt wird aus einem Skript geschrieben, wo man es selbst in der Hand hat. Rolle "value" gehört zu Datenpunkten vom Typ "number" mit "write" = false.
          Übrigens: Eine Multiplikation mit 100 wandelt einen String (mit einem Zahlenwert) in eine Zahl.

          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

          Thomas BraunT 1 Antwort Letzte Antwort
          0
          • Thomas BraunT Thomas Braun

            @codierknecht

            Ich steh echt auf dem Schlauch. Was meinst du genau?

            CodierknechtC Offline
            CodierknechtC Offline
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von Codierknecht
            #5

            @thomas-braun
            e46800b1-4e0f-427a-ba04-3640651d0b6f-image.png
            c0da279e-761c-4b9f-a817-2d2a3b93a747-image.png
            Edit:
            Kann man auch gleich mit 100 multiplizieren:

            parseFloat(val) * 100
            

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            Thomas BraunT 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @thomas-braun: Ich hab hier einen DP, der als String reinkommt:

              Weshalb als String? Ein eigener Datenpunkt wird aus einem Skript geschrieben, wo man es selbst in der Hand hat. Rolle "value" gehört zu Datenpunkten vom Typ "number" mit "write" = false.
              Übrigens: Eine Multiplikation mit 100 wandelt einen String (mit einem Zahlenwert) in eine Zahl.

              Thomas BraunT Online
              Thomas BraunT Online
              Thomas Braun
              Most Active
              schrieb am zuletzt editiert von
              #6

              @paul53 sagte in DP von Sting nach Zahl konvertieren:

              Weshalb als String?

              Weil das Ding 'roh' so via mqtt reinkommt. Da kann ich erstmal nix machen.
              Dezimaltrenner ist ein Punkt, müsste ich auch noch berücksichtigen, denke ich.

              Linux-Werkzeugkasten:
              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
              NodeJS Fixer Skript:
              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

              paul53P BananaJoeB 2 Antworten Letzte Antwort
              0
              • Thomas BraunT Thomas Braun

                @paul53 sagte in DP von Sting nach Zahl konvertieren:

                Weshalb als String?

                Weil das Ding 'roh' so via mqtt reinkommt. Da kann ich erstmal nix machen.
                Dezimaltrenner ist ein Punkt, müsste ich auch noch berücksichtigen, denke ich.

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

                @thomas-braun: so via mqtt reinkommt.

                In "0_userdata.0.solix.solarbank_info.total_battery_power"?

                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

                Thomas BraunT 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @thomas-braun: so via mqtt reinkommt.

                  In "0_userdata.0.solix.solarbank_info.total_battery_power"?

                  Thomas BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  schrieb am zuletzt editiert von Thomas Braun
                  #8

                  @paul53

                  Ja.
                  Da steht z. B. 0.14 drin. Ziel der Aktion ist ein DP mit der Zahl 14

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • Thomas BraunT Thomas Braun

                    @paul53 sagte in DP von Sting nach Zahl konvertieren:

                    Weshalb als String?

                    Weil das Ding 'roh' so via mqtt reinkommt. Da kann ich erstmal nix machen.
                    Dezimaltrenner ist ein Punkt, müsste ich auch noch berücksichtigen, denke ich.

                    BananaJoeB Offline
                    BananaJoeB Offline
                    BananaJoe
                    Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @thomas-braun sagte in DP von Sting nach Zahl konvertieren:

                    Weil das Ding 'roh' so via mqtt reinkommt. Da kann ich erstmal nix machen.

                    Also bei mir Meckert der MQTT-Adapter einmal beim ersten reinkommenden Wert und ändert den Typ dann auf Zahl ... (MQTT Adapter als Client mit Mosquitto als Broker)

                    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                    Thomas BraunT 1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @thomas-braun
                      e46800b1-4e0f-427a-ba04-3640651d0b6f-image.png
                      c0da279e-761c-4b9f-a817-2d2a3b93a747-image.png
                      Edit:
                      Kann man auch gleich mit 100 multiplizieren:

                      parseFloat(val) * 100
                      
                      Thomas BraunT Online
                      Thomas BraunT Online
                      Thomas Braun
                      Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @codierknecht

                      Der Typ des Ergebnisses ist nicht wie erwartet: string
                      

                      sagt mir die Kiste.
                      bfc0b046-9c54-4774-9fae-1addab2b827c-image.png

                      Linux-Werkzeugkasten:
                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                      NodeJS Fixer Skript:
                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                      CodierknechtC 1 Antwort Letzte Antwort
                      0
                      • BananaJoeB BananaJoe

                        @thomas-braun sagte in DP von Sting nach Zahl konvertieren:

                        Weil das Ding 'roh' so via mqtt reinkommt. Da kann ich erstmal nix machen.

                        Also bei mir Meckert der MQTT-Adapter einmal beim ersten reinkommenden Wert und ändert den Typ dann auf Zahl ... (MQTT Adapter als Client mit Mosquitto als Broker)

                        Thomas BraunT Online
                        Thomas BraunT Online
                        Thomas Braun
                        Most Active
                        schrieb am zuletzt editiert von
                        #11

                        @bananajoe sagte in DP von Sting nach Zahl konvertieren:

                        (MQTT Adapter als Client mit Mosquitto als Broker)

                        Hier auch. Den ankommenden Datensatz schiebe ich durch 'ein Skript' dann nach 0.userdata

                        Linux-Werkzeugkasten:
                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                        NodeJS Fixer Skript:
                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                        1 Antwort Letzte Antwort
                        0
                        • Thomas BraunT Thomas Braun

                          @paul53

                          Ja.
                          Da steht z. B. 0.14 drin. Ziel der Aktion ist ein DP mit der Zahl 14

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

                          @thomas-braun sagte in DP von Sting nach Zahl konvertieren:

                          Ziel der Aktion ist ein DP mit der Zahl 14

                          Im Tab "Objekte" selektiere "alias.0" und erstelle Objekt vom Typ "Gerät" mit dem Namen "solix", darunter erstelle einen Kanal mit dem Namen "solarbank_info" und darunter dann einen Datenpunkt vom Typ "Zahl" mit dem Namen "total_battery_power". Dann im Tab "ALIAS" den Original-Datenpunkt zuweisen und eine Lesekonvertierung eintragen

                          100 * 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

                          Thomas BraunT 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @thomas-braun sagte in DP von Sting nach Zahl konvertieren:

                            Ziel der Aktion ist ein DP mit der Zahl 14

                            Im Tab "Objekte" selektiere "alias.0" und erstelle Objekt vom Typ "Gerät" mit dem Namen "solix", darunter erstelle einen Kanal mit dem Namen "solarbank_info" und darunter dann einen Datenpunkt vom Typ "Zahl" mit dem Namen "total_battery_power". Dann im Tab "ALIAS" den Original-Datenpunkt zuweisen und eine Lesekonvertierung eintragen

                            100 * val
                            
                            Thomas BraunT Online
                            Thomas BraunT Online
                            Thomas Braun
                            Most Active
                            schrieb am zuletzt editiert von
                            #13

                            @paul53
                            Thx fürs über die Schwelle heben.
                            Funktioniert (natürlich!) ;-)

                            Linux-Werkzeugkasten:
                            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                            NodeJS Fixer Skript:
                            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                            1 Antwort Letzte Antwort
                            0
                            • Thomas BraunT Thomas Braun

                              @codierknecht

                              Der Typ des Ergebnisses ist nicht wie erwartet: string
                              

                              sagt mir die Kiste.
                              bfc0b046-9c54-4774-9fae-1addab2b827c-image.png

                              CodierknechtC Offline
                              CodierknechtC Offline
                              Codierknecht
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #14

                              @thomas-braun
                              Dann war Dein Alias nicht vom Typ "Zahl".

                              @paul53 hat es mal wieder in 2 Sätzen komplett beschrieben. Chapeau!

                              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                              HmIP|ZigBee|Tasmota|Unifi
                              Zabbix Certified Specialist
                              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                              Thomas BraunT 1 Antwort Letzte Antwort
                              0
                              • CodierknechtC Codierknecht

                                @thomas-braun
                                Dann war Dein Alias nicht vom Typ "Zahl".

                                @paul53 hat es mal wieder in 2 Sätzen komplett beschrieben. Chapeau!

                                Thomas BraunT Online
                                Thomas BraunT Online
                                Thomas Braun
                                Most Active
                                schrieb am zuletzt editiert von
                                #15

                                @codierknecht

                                Ich hatte nicht geschnallt, das der Datenpunkttyp schon auf Zahl gesetzt werden muss.

                                Linux-Werkzeugkasten:
                                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                NodeJS Fixer Skript:
                                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                CodierknechtC 1 Antwort Letzte Antwort
                                0
                                • Thomas BraunT Thomas Braun

                                  @codierknecht

                                  Ich hatte nicht geschnallt, das der Datenpunkttyp schon auf Zahl gesetzt werden muss.

                                  CodierknechtC Offline
                                  CodierknechtC Offline
                                  Codierknecht
                                  Developer Most Active
                                  schrieb am zuletzt editiert von
                                  #16

                                  @thomas-braun
                                  Egal, Hauptsache es funzt jetzt :grin:

                                  Wenn man das mit den Aliasen ein paarmal "von Hand" gemacht hat, braucht man keinen Adapter mehr dazu.
                                  Ich hatte den einmal ausprobiert und gleich wieder runtergeworfen.
                                  Der hatte mir persönlich zu viel eingebaute "Intelligenz". Kam mir vor wie mein gehasstes Excel, das mir aus "1/2" gerne mal einen "01. Januar" baut.

                                  Alte Weiheit: Was man nicht selbst macht, taugt auch nix :grin:

                                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                  HmIP|ZigBee|Tasmota|Unifi
                                  Zabbix Certified Specialist
                                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                  Thomas BraunT 1 Antwort Letzte Antwort
                                  0
                                  • CodierknechtC Codierknecht

                                    @thomas-braun
                                    Egal, Hauptsache es funzt jetzt :grin:

                                    Wenn man das mit den Aliasen ein paarmal "von Hand" gemacht hat, braucht man keinen Adapter mehr dazu.
                                    Ich hatte den einmal ausprobiert und gleich wieder runtergeworfen.
                                    Der hatte mir persönlich zu viel eingebaute "Intelligenz". Kam mir vor wie mein gehasstes Excel, das mir aus "1/2" gerne mal einen "01. Januar" baut.

                                    Alte Weiheit: Was man nicht selbst macht, taugt auch nix :grin:

                                    Thomas BraunT Online
                                    Thomas BraunT Online
                                    Thomas Braun
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #17

                                    @codierknecht sagte in DP von Sting nach Zahl konvertieren:

                                    Wenn man das mit den Aliasen ein paarmal "von Hand" gemacht hat, braucht man keinen Adapter mehr dazu.

                                    Ich hab da genau einen DP drin, aber auch nur 'herumgewurschtelt', weil ich wie gesagt den Adapter nie richtig kapiert hab. Ich glaub den stelle ich jetzt auch auf 'handbetrieben' um.

                                    Linux-Werkzeugkasten:
                                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                    NodeJS Fixer Skript:
                                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                    1 Antwort Letzte Antwort
                                    1
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    576

                                    Online

                                    32.7k

                                    Benutzer

                                    82.4k

                                    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