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

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

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

Geplant Angeheftet Gesperrt Verschoben Blockly
11 Beiträge 2 Kommentatoren 872 Aufrufe 1 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.
  • A Offline
    A Offline
    atheos
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        613

                        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