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. Blockly
  5. [Gelöst]Lichtstatus-Abfrage über Telegram nicht 100%

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    552

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

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

[Gelöst]Lichtstatus-Abfrage über Telegram nicht 100%

Scheduled Pinned Locked Moved Blockly
11 Posts 2 Posters 900 Views 1 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.
  • A Offline
    A Offline
    atheos
    wrote on last edited by atheos
    #1

    Hallo liebe ioBroker-Community,

    nach einer langen Pause mit ioBroker habe ich wieder angefangen, meine alten Skripte und Blocklys zurückzuspielen. Das meiste funktioniert bereits wieder. Ich taste mich langsam voran, jedoch hänge ich derzeit an einem Blockly, das früher problemlos lief, aber jetzt nicht mehr zu 100 % funktioniert.

    Wenn ich den Lichtstatus abrufe, klappt es zwar, aber anstelle der Namen der Shellys wird nur "[object Object]" ausgegeben.
    f7bb2873-117f-4de6-b46e-a38bb765cd41-WhatsApp Bild 2025-03-24 um 02.41.22_849c3a6b.jpg
    Und zwar habe ich folgende:
    303229ad-7c14-4cc6-9c47-5a9fff022df0-image.png

    JS vom Blockly:

    var Wert, LichtStatus, Element2;
    
    // Beschreibe diese Funktion …
    async function LichtStatus2(Wert) {
        return getObject(Wert).common.name;
    }
    
    
    on({ id: [].concat(['0_userdata.0.Lichtzustand_senden']), change: 'any' }, async (obj) => {
      let value = obj.state.val;
      let oldValue = obj.oldState.val;
      var LichtStatus_list = Array.prototype.slice.apply($('state[id=*](functions=licht)'));
      for (var LichtStatus_index in LichtStatus_list) {
        LichtStatus = LichtStatus_list[LichtStatus_index];
        Element2 = '\n';
        if (getState(LichtStatus).val == true) {
          Element2 += String(['Licht Status von:','\n',await LichtStatus2(LichtStatus),'= 💡','\n'].join(''));
          sendTo('telegram.0', 'send', {
            text: Element2,
            user: 'aTheos',
          });
        }
      }
    });
    

    Wie müsste ich es ändern, damit es wieder funktioniert und zuerst die Namen ausgegeben werden und dann das Icon daneben erscheint, wenn das Licht an ist?

    Danke schonmal und einen schönen Abend.

    paul53P 1 Reply Last reply
    0
    • A atheos

      Hallo liebe ioBroker-Community,

      nach einer langen Pause mit ioBroker habe ich wieder angefangen, meine alten Skripte und Blocklys zurückzuspielen. Das meiste funktioniert bereits wieder. Ich taste mich langsam voran, jedoch hänge ich derzeit an einem Blockly, das früher problemlos lief, aber jetzt nicht mehr zu 100 % funktioniert.

      Wenn ich den Lichtstatus abrufe, klappt es zwar, aber anstelle der Namen der Shellys wird nur "[object Object]" ausgegeben.
      f7bb2873-117f-4de6-b46e-a38bb765cd41-WhatsApp Bild 2025-03-24 um 02.41.22_849c3a6b.jpg
      Und zwar habe ich folgende:
      303229ad-7c14-4cc6-9c47-5a9fff022df0-image.png

      JS vom Blockly:

      var Wert, LichtStatus, Element2;
      
      // Beschreibe diese Funktion …
      async function LichtStatus2(Wert) {
          return getObject(Wert).common.name;
      }
      
      
      on({ id: [].concat(['0_userdata.0.Lichtzustand_senden']), change: 'any' }, async (obj) => {
        let value = obj.state.val;
        let oldValue = obj.oldState.val;
        var LichtStatus_list = Array.prototype.slice.apply($('state[id=*](functions=licht)'));
        for (var LichtStatus_index in LichtStatus_list) {
          LichtStatus = LichtStatus_list[LichtStatus_index];
          Element2 = '\n';
          if (getState(LichtStatus).val == true) {
            Element2 += String(['Licht Status von:','\n',await LichtStatus2(LichtStatus),'= 💡','\n'].join(''));
            sendTo('telegram.0', 'send', {
              text: Element2,
              user: 'aTheos',
            });
          }
        }
      });
      

      Wie müsste ich es ändern, damit es wieder funktioniert und zuerst die Namen ausgegeben werden und dann das Icon daneben erscheint, wenn das Licht an ist?

      Danke schonmal und einen schönen Abend.

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

      @atheos sagte: anstelle der Namen der Shellys wird nur "[object Object]" ausgegeben.

      Kann es sein, dass die Namen jetzt mehrsprachig sind? Dann muss die JS-Funktion angepasst werden.

          let Name = getObject(Wert).common.name;
          if(typeof Name == 'object') return Name.de;
          return 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

      A 1 Reply Last reply
      0
      • paul53P paul53

        @atheos sagte: anstelle der Namen der Shellys wird nur "[object Object]" ausgegeben.

        Kann es sein, dass die Namen jetzt mehrsprachig sind? Dann muss die JS-Funktion angepasst werden.

            let Name = getObject(Wert).common.name;
            if(typeof Name == 'object') return Name.de;
            return Name;
        
        A Offline
        A Offline
        atheos
        wrote on last edited by
        #3

        @paul53 said in Lichtstatus-Abfrage über Telegram nicht 100%:

        Kann es sein, dass die Namen jetzt mehrsprachig sind? Dann muss die JS-Funktion angepasst werden.

        Ich kann die JS-Funktion nicht anpassen. Bekomme immer die Meldung "Ein bearbeiten ist im Schreibgeschützten Editor nicht möglich"
        a5aedc7c-5245-405c-b295-d5260bc3cd99-image.png

        Wüsste jetzt nicht wo ich das genau ändern muss bzw etwas hinzufügen :/

        paul53P 1 Reply Last reply
        0
        • A atheos

          @paul53 said in Lichtstatus-Abfrage über Telegram nicht 100%:

          Kann es sein, dass die Namen jetzt mehrsprachig sind? Dann muss die JS-Funktion angepasst werden.

          Ich kann die JS-Funktion nicht anpassen. Bekomme immer die Meldung "Ein bearbeiten ist im Schreibgeschützten Editor nicht möglich"
          a5aedc7c-5245-405c-b295-d5260bc3cd99-image.png

          Wüsste jetzt nicht wo ich das genau ändern muss bzw etwas hinzufügen :/

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

          @atheos sagte: Ich kann die JS-Funktion nicht anpassen.

          Blockly_temp.JPG

          Durch Klick auf die 3 Punkte rechts gelangt man in den Funktions-Editor.

          Anmerkung: Man sollte für Funktionen und Variablen unterschiedliche Bezeichner verwenden.

          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

          A 1 Reply Last reply
          0
          • paul53P paul53

            @atheos sagte: Ich kann die JS-Funktion nicht anpassen.

            Blockly_temp.JPG

            Durch Klick auf die 3 Punkte rechts gelangt man in den Funktions-Editor.

            Anmerkung: Man sollte für Funktionen und Variablen unterschiedliche Bezeichner verwenden.

            A Offline
            A Offline
            atheos
            wrote on last edited by
            #5

            @paul53 said in Lichtstatus-Abfrage über Telegram nicht 100%:

            Durch Klick auf die 3 Punkte rechts gelangt man in den Funktions-Editor.

            Ah das meinst du da habe ich es jetzt hinzugefügt:
            c1b4e9c6-be49-4a02-9a51-fd583260c1c0-image.png

            Wenn ich das jetzt ausführe habe ich folgende Ausgabe:

            Lichtstatus von : Schalter anstatt Lichtstatus von [Objekt objekt]. Der Name wird immer noch nicht angezeigt.

            e76cc5cd-68dc-4f52-a8f8-2a70b870d9bb-WhatsApp Bild 2025-03-24 um 22.55.41_62b19baa.jpg

            paul53P 1 Reply Last reply
            0
            • A atheos

              @paul53 said in Lichtstatus-Abfrage über Telegram nicht 100%:

              Durch Klick auf die 3 Punkte rechts gelangt man in den Funktions-Editor.

              Ah das meinst du da habe ich es jetzt hinzugefügt:
              c1b4e9c6-be49-4a02-9a51-fd583260c1c0-image.png

              Wenn ich das jetzt ausführe habe ich folgende Ausgabe:

              Lichtstatus von : Schalter anstatt Lichtstatus von [Objekt objekt]. Der Name wird immer noch nicht angezeigt.

              e76cc5cd-68dc-4f52-a8f8-2a70b870d9bb-WhatsApp Bild 2025-03-24 um 22.55.41_62b19baa.jpg

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

              @atheos sagte: Schalter anstatt Lichtstatus von [Objekt objekt]. Der Name wird immer noch nicht angezeigt.

              "Schalter" ist der deutsche Datenpunkt-Name. Welchen Namen möchtest du anzeigen?
              Bitte ID-Struktur mit Namen zeigen!

              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

              A 1 Reply Last reply
              0
              • paul53P paul53

                @atheos sagte: Schalter anstatt Lichtstatus von [Objekt objekt]. Der Name wird immer noch nicht angezeigt.

                "Schalter" ist der deutsche Datenpunkt-Name. Welchen Namen möchtest du anzeigen?
                Bitte ID-Struktur mit Namen zeigen!

                A Offline
                A Offline
                atheos
                wrote on last edited by
                #7

                @paul53 said in Lichtstatus-Abfrage über Telegram nicht 100%:

                "Schalter" ist der deutsche Datenpunkt-Name. Welchen Namen möchtest du anzeigen?
                Bitte ID-Struktur mit Namen zeigen!

                Möchte den Namen ausgeben welchen ich festgelegt hab z.B. EG Wohnzimmer Mitte usw..
                be212ef1-8554-409a-9d9a-f684d9571f6e-image.png

                paul53P 1 Reply Last reply
                0
                • A atheos

                  @paul53 said in Lichtstatus-Abfrage über Telegram nicht 100%:

                  "Schalter" ist der deutsche Datenpunkt-Name. Welchen Namen möchtest du anzeigen?
                  Bitte ID-Struktur mit Namen zeigen!

                  Möchte den Namen ausgeben welchen ich festgelegt hab z.B. EG Wohnzimmer Mitte usw..
                  be212ef1-8554-409a-9d9a-f684d9571f6e-image.png

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

                  @atheos sagte: Möchte den Namen ausgeben welchen ich festgelegt hab z.B. EG Wohnzimmer Mitte usw..

                  Der Datenpunkt "name" hat nichts mit dem Datenpunkt zu tun, der das Licht schaltet. Klappe mal den Ordner "Relay0" auf.

                  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

                  A 1 Reply Last reply
                  0
                  • paul53P paul53

                    @atheos sagte: Möchte den Namen ausgeben welchen ich festgelegt hab z.B. EG Wohnzimmer Mitte usw..

                    Der Datenpunkt "name" hat nichts mit dem Datenpunkt zu tun, der das Licht schaltet. Klappe mal den Ordner "Relay0" auf.

                    A Offline
                    A Offline
                    atheos
                    wrote on last edited by
                    #9

                    @paul53 said in Lichtstatus-Abfrage über Telegram nicht 100%:

                    Der Datenpunkt "name" hat nichts mit dem Datenpunkt zu tun, der das Licht schaltet. Klappe mal den Ordner "Relay0" auf.

                    Ah ok verstanden hier der Ordner für Relay
                    d8410af6-95b2-4a07-9caf-e2d03f5e4d06-image.png

                    paul53P 1 Reply Last reply
                    0
                    • A atheos

                      @paul53 said in Lichtstatus-Abfrage über Telegram nicht 100%:

                      Der Datenpunkt "name" hat nichts mit dem Datenpunkt zu tun, der das Licht schaltet. Klappe mal den Ordner "Relay0" auf.

                      Ah ok verstanden hier der Ordner für Relay
                      d8410af6-95b2-4a07-9caf-e2d03f5e4d06-image.png

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

                      @atheos
                      Wie vermutet: Der DP-Name ist "Schalter". Du möchtest den Grantparentname (Gerätename) haben. Dann muss die JS-Funktion so aussehen:

                      let id = Wert.substring(0, Wert.lastIndexOf('.')); // Kanal-ID
                      id = id.substring(0, id.lastIndexOf('.')); // Geräte-ID
                      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

                      A 1 Reply Last reply
                      1
                      • paul53P paul53

                        @atheos
                        Wie vermutet: Der DP-Name ist "Schalter". Du möchtest den Grantparentname (Gerätename) haben. Dann muss die JS-Funktion so aussehen:

                        let id = Wert.substring(0, Wert.lastIndexOf('.')); // Kanal-ID
                        id = id.substring(0, id.lastIndexOf('.')); // Geräte-ID
                        if(existsObject(id)) return getObject(id).common.name;
                        
                        A Offline
                        A Offline
                        atheos
                        wrote on last edited by
                        #11

                        @paul53 said in Lichtstatus-Abfrage über Telegram nicht 100%:

                        @atheos
                        Wie vermutet: Der DP-Name ist "Schalter". Du möchtest den Grantparentname (Gerätename) haben. Dann muss die JS-Funktion so aussehen:
                        Copy to Clipboardlet id = Wert.substring(0, Wert.lastIndexOf('.'));
                        id = id.substring(0, id.lastIndexOf('.'));
                        if(existsObject(id)) return getObject(id).common.name;

                        Ich weiß nicht was ich einfach schreiben soll. Vieeeeeeeeeeelen Dank. Würde auch so gerne die Sprache lernen. Werde mal versuchen zu verstehen was du da geschrieben hast bzw was mein Script macht.

                        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

                        308

                        Online

                        32.7k

                        Users

                        82.5k

                        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