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

                                  583

                                  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