Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Kopieren von einem state in einen anderen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    13
    1
    142

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

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

Kopieren von einem state in einen anderen

Scheduled Pinned Locked Moved ioBroker Allgemein
7 Posts 2 Posters 595 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    diplinge
    wrote on last edited by
    #1

    Servus zusammen,

    ich habe einen SoC state vom BMW Adapter den ich gerne per MQTT schreiben möchte. Ich will also bei Änderung am state den ich vom BMW Adapter bekomme den entsprechenden state in MQTT kopieren.

    bmw.0.XXXXXXXXXXXXXXXXX.state.electricChargingState.chargingLevelPercent nach mqtt.0.openWB.set.vehicle.1.get.soc

    Ich dachte ich könnte das mit einem Alias machen (So hatte ich es zumindest verstanden), aber da tut sich nix.

    d2a0d02d-4c33-4b24-82e5-ee58b992db58-image.png
    0f66ea0c-17c8-4bf7-b7db-9a6ae004ead9-image.png
    9ef5c731-15f2-4a1b-9e83-4b15c75ab1a8-image.png

    Fehlt da was, oder hab ich das mit den Aliasen falsch verstanden?

    CodierknechtC 1 Reply Last reply
    0
    • D diplinge

      Servus zusammen,

      ich habe einen SoC state vom BMW Adapter den ich gerne per MQTT schreiben möchte. Ich will also bei Änderung am state den ich vom BMW Adapter bekomme den entsprechenden state in MQTT kopieren.

      bmw.0.XXXXXXXXXXXXXXXXX.state.electricChargingState.chargingLevelPercent nach mqtt.0.openWB.set.vehicle.1.get.soc

      Ich dachte ich könnte das mit einem Alias machen (So hatte ich es zumindest verstanden), aber da tut sich nix.

      d2a0d02d-4c33-4b24-82e5-ee58b992db58-image.png
      0f66ea0c-17c8-4bf7-b7db-9a6ae004ead9-image.png
      9ef5c731-15f2-4a1b-9e83-4b15c75ab1a8-image.png

      Fehlt da was, oder hab ich das mit den Aliasen falsch verstanden?

      CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      wrote on last edited by
      #2

      @diplinge sagte in Kopieren von einem state in einen anderen:

      Fehlt da was, oder hab ich das mit den Aliasen falsch verstanden?

      Sieht so aus.
      Mit einem Alias verallgemeinert man den Zugriff, konvertiert ggf. Werte und vereinfacht den Austausch von Geräten.
      Ein Alias ist aber nicht dazu geeignet, Werte von einem bestehenden DP in einen anderen bestehenden DP zu schreiben.
      Das geht nur per Script.

      "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

      D 1 Reply Last reply
      0
      • CodierknechtC Codierknecht

        @diplinge sagte in Kopieren von einem state in einen anderen:

        Fehlt da was, oder hab ich das mit den Aliasen falsch verstanden?

        Sieht so aus.
        Mit einem Alias verallgemeinert man den Zugriff, konvertiert ggf. Werte und vereinfacht den Austausch von Geräten.
        Ein Alias ist aber nicht dazu geeignet, Werte von einem bestehenden DP in einen anderen bestehenden DP zu schreiben.
        Das geht nur per Script.

        D Offline
        D Offline
        diplinge
        wrote on last edited by
        #3

        @codierknecht Das hab ich fast befürchtet. Kennst du einen Adapter der das kann? Script ist kein Problem, aber für so ein 08/15 Datenmapping wäre ein Adapter schon cool

        CodierknechtC 1 Reply Last reply
        0
        • D diplinge

          @codierknecht Das hab ich fast befürchtet. Kennst du einen Adapter der das kann? Script ist kein Problem, aber für so ein 08/15 Datenmapping wäre ein Adapter schon cool

          CodierknechtC Offline
          CodierknechtC Offline
          Codierknecht
          Developer Most Active
          wrote on last edited by Codierknecht
          #4

          @diplinge sagte in Kopieren von einem state in einen anderen:

          aber für so ein 08/15 Datenmapping wäre ein Adapter schon cool

          Da wäre ein Adapter völlig übertrieben.
          Das geht per Blockly mit einem einzigen passenden Block:
          64a11ed1-5c86-4df0-bf35-5541867957e2-grafik.png
          Wenn Objekt 1 sich ändert, wird der Wert in Objekt 2 geschrieben.

          "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

          D 1 Reply Last reply
          0
          • CodierknechtC Codierknecht

            @diplinge sagte in Kopieren von einem state in einen anderen:

            aber für so ein 08/15 Datenmapping wäre ein Adapter schon cool

            Da wäre ein Adapter völlig übertrieben.
            Das geht per Blockly mit einem einzigen passenden Block:
            64a11ed1-5c86-4df0-bf35-5541867957e2-grafik.png
            Wenn Objekt 1 sich ändert, wird der Wert in Objekt 2 geschrieben.

            D Offline
            D Offline
            diplinge
            wrote on last edited by
            #5

            Ich bevorzuge JS

            // SoC
            on({id: 'bmw.0.XXX.state.electricChargingState.chargingLevelPercent'}, function (obj) {
                var soc = getState("bmw.0.XXX.state.electricChargingState.chargingLevelPercent");
                setState('mqtt.0.openWB.set.vehicle.1.get.soc', soc);
            });
            
            CodierknechtC 1 Reply Last reply
            0
            • D diplinge

              Ich bevorzuge JS

              // SoC
              on({id: 'bmw.0.XXX.state.electricChargingState.chargingLevelPercent'}, function (obj) {
                  var soc = getState("bmw.0.XXX.state.electricChargingState.chargingLevelPercent");
                  setState('mqtt.0.openWB.set.vehicle.1.get.soc', soc);
              });
              
              CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              wrote on last edited by Codierknecht
              #6

              @diplinge
              Dann aber besser so:

              on({id: 'bmw.0.XXX.state.electricChargingState.chargingLevelPercent', change: 'ne' }, function (obj) {
                setState('mqtt.0.openWB.set.vehicle.1.get.soc', obj.state.val);
              });
              

              Obj kennt ja bereits den Wert. Den muss man nicht erneut lesen.
              Und mit dem ne wird nur bei Änderungen geschrieben - nicht bei jeder Aktualisierung.

              "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

              D 1 Reply Last reply
              0
              • CodierknechtC Codierknecht

                @diplinge
                Dann aber besser so:

                on({id: 'bmw.0.XXX.state.electricChargingState.chargingLevelPercent', change: 'ne' }, function (obj) {
                  setState('mqtt.0.openWB.set.vehicle.1.get.soc', obj.state.val);
                });
                

                Obj kennt ja bereits den Wert. Den muss man nicht erneut lesen.
                Und mit dem ne wird nur bei Änderungen geschrieben - nicht bei jeder Aktualisierung.

                D Offline
                D Offline
                diplinge
                wrote on last edited by
                #7

                @codierknecht Cool, again what learned :-)

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                576

                Online

                32.7k

                Users

                82.4k

                Topics

                1.3m

                Posts
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Home
                • Recent
                • Tags
                • Unread 0
                • Categories
                • Unreplied
                • Popular
                • GitHub
                • Docu
                • Hilfe