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. Skripten / Logik
  4. JavaScript
  5. channelName von einem State holen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

channelName von einem State holen

Scheduled Pinned Locked Moved JavaScript
6 Posts 4 Posters 420 Views 3 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.
  • Ben1983B Offline
    Ben1983B Offline
    Ben1983
    wrote on last edited by
    #1

    Hallo, wenn ich eine on() funktion habe, kann ich mir ja bspw. mit dp.channelName den Wert des Kanalnamens ausgeben lassen.

    Nun habe ich einen selector und nutze die each funktion.

    Habe ich hier auch über die Id, die Möglichekeit an den channelName herade zu kommen, oder muss quasie den Aufbau der ID wissen und mir somit die ObjectId und somit das Object des Channels holen?

    Bspw.

    
    
    // Ids zuweisen
    const Searchstring = 'firmware';
    const ExecuteString = 'firmwareupdate';
    
    // Selector für neue Firmware erstellen
    const selectorNeueFirmware = $(`state[id=shelly.*.${Searchstring}]`);
    
    // Schedules beim Skriptstart erzeugen:
    selectorNeueFirmware.each((id,i)=>{
        if(getState(id).val){
            const DeviceId = id.substring(0,id.length - Searchstring.length -1);
            const DeviceObject = getObject(DeviceId);
            log(`The Firmware for ${DeviceObject.common.name} will be updatet.`);
            setState(DeviceId + '.' + ExecuteString,true);
        }
    });
    
    
    
    M paul53P 2 Replies Last reply
    0
    • Ben1983B Ben1983

      Hallo, wenn ich eine on() funktion habe, kann ich mir ja bspw. mit dp.channelName den Wert des Kanalnamens ausgeben lassen.

      Nun habe ich einen selector und nutze die each funktion.

      Habe ich hier auch über die Id, die Möglichekeit an den channelName herade zu kommen, oder muss quasie den Aufbau der ID wissen und mir somit die ObjectId und somit das Object des Channels holen?

      Bspw.

      
      
      // Ids zuweisen
      const Searchstring = 'firmware';
      const ExecuteString = 'firmwareupdate';
      
      // Selector für neue Firmware erstellen
      const selectorNeueFirmware = $(`state[id=shelly.*.${Searchstring}]`);
      
      // Schedules beim Skriptstart erzeugen:
      selectorNeueFirmware.each((id,i)=>{
          if(getState(id).val){
              const DeviceId = id.substring(0,id.length - Searchstring.length -1);
              const DeviceObject = getObject(DeviceId);
              log(`The Firmware for ${DeviceObject.common.name} will be updatet.`);
              setState(DeviceId + '.' + ExecuteString,true);
          }
      });
      
      
      
      M Online
      M Online
      MCU
      wrote on last edited by MCU
      #2

      @ben1983 gelöscht

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      1 Reply Last reply
      0
      • Ben1983B Ben1983

        Hallo, wenn ich eine on() funktion habe, kann ich mir ja bspw. mit dp.channelName den Wert des Kanalnamens ausgeben lassen.

        Nun habe ich einen selector und nutze die each funktion.

        Habe ich hier auch über die Id, die Möglichekeit an den channelName herade zu kommen, oder muss quasie den Aufbau der ID wissen und mir somit die ObjectId und somit das Object des Channels holen?

        Bspw.

        
        
        // Ids zuweisen
        const Searchstring = 'firmware';
        const ExecuteString = 'firmwareupdate';
        
        // Selector für neue Firmware erstellen
        const selectorNeueFirmware = $(`state[id=shelly.*.${Searchstring}]`);
        
        // Schedules beim Skriptstart erzeugen:
        selectorNeueFirmware.each((id,i)=>{
            if(getState(id).val){
                const DeviceId = id.substring(0,id.length - Searchstring.length -1);
                const DeviceObject = getObject(DeviceId);
                log(`The Firmware for ${DeviceObject.common.name} will be updatet.`);
                setState(DeviceId + '.' + ExecuteString,true);
            }
        });
        
        
        
        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #3

        @ben1983 sagte: Aufbau der ID wissen und mir somit die ObjectId und somit das Object des Channels holen?

        Beim "channelName" handelt es sich eigentlich um den "parentName"

        function parentName(id) {
            id = id.substring(0, id.lastIndexOf('.'));
            if(existsObject(id)) return getObject(id).common.name;
        }
        

        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

        Ben1983B 1 Reply Last reply
        0
        • paul53P paul53

          @ben1983 sagte: Aufbau der ID wissen und mir somit die ObjectId und somit das Object des Channels holen?

          Beim "channelName" handelt es sich eigentlich um den "parentName"

          function parentName(id) {
              id = id.substring(0, id.lastIndexOf('.'));
              if(existsObject(id)) return getObject(id).common.name;
          }
          
          Ben1983B Offline
          Ben1983B Offline
          Ben1983
          wrote on last edited by
          #4

          @paul53 OK, ich dachte man bekommt hier irgendwie (wie beim on()) mit, was der channelName ist.
          Wenn dieser vielleicht 2-3 Ebenen ober drüber ist (egal wie es definiert ist, ich weiß), dann muss man halt da suchen. Danke.

          paul53P mcm1957M 2 Replies Last reply
          0
          • Ben1983B Ben1983

            @paul53 OK, ich dachte man bekommt hier irgendwie (wie beim on()) mit, was der channelName ist.
            Wenn dieser vielleicht 2-3 Ebenen ober drüber ist (egal wie es definiert ist, ich weiß), dann muss man halt da suchen. Danke.

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #5

            @ben1983 sagte: Wenn dieser vielleicht 2-3 Ebenen ober drüber ist

            Dann funktioniert auch channelName von on() nicht.

            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 Reply Last reply
            1
            • Ben1983B Ben1983

              @paul53 OK, ich dachte man bekommt hier irgendwie (wie beim on()) mit, was der channelName ist.
              Wenn dieser vielleicht 2-3 Ebenen ober drüber ist (egal wie es definiert ist, ich weiß), dann muss man halt da suchen. Danke.

              mcm1957M Online
              mcm1957M Online
              mcm1957
              wrote on last edited by mcm1957
              #6

              @ben1983
              nur falls es nicht klar ist
              Ein state muss sich nicht unterhalb eines devices oder channels befinden.

              Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
              Support Repositoryverwaltung.

              Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

              LESEN - gute Forenbeitrage

              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

              653

              Online

              32.7k

              Users

              82.3k

              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