Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst]Bei mir funktioniert der functions-Selector nicht, wo ist mein Fehler?

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [gelöst]Bei mir funktioniert der functions-Selector nicht, wo ist mein Fehler?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      @ChyHan:

      Guten Tag zusammen,

      nachdem ich nun den ganzen einigermaßen guten Sonntag im Keller vor dem Bildschirm verbracht habe, der Puls langsam steigt und ich meinen Fehler immer noch nicht gefunden habe. Stelle ich Euch mal ein Frage wo ich den Fehler mache.

      Ich möchte einen Selektor verwenden um bei meinen Rollladensteuerungen den Datenpunkt "LEVEL" abzufragen. Das klappt auch prima:

      var cacheSelectorRollladenLevel = $('channel[state.id=*.LEVEL]').each(function(id) { log("R1: " + id); });

      Als Logausgabe erhalte ich eine Menge Logzeilen. Leider zuviele, da auch die Dimmer und virtuellen Schalter der CCU in meiner Selektion enthalten sind. Deshalb habe ich meine Selektion um eine weitere Bedingung erweitert:

      var cacheSelectorRollladenLevel = $('channelstate.id=*.LEVEL').each(function(id) { log("R1: " + id); });

      Als Logausgabe erhalte ich nichts.

      Unter der Objekte-Ansicht der iobroker Oberfläche habe ich allerdings enum.functions mit einer Auslistung "RL" und 2 Elementen. Meine enum Objekte habe ich mal als Screenshot dieser Frage angehängt.

      Wäre prima wenn Jemand noch eine Idee hat wo der Fehler stecken könnte. Ich habe keine Idee mehr und muss erst einmal meinen Puls wieder senken 😉 .

      Gruß Christoph `
      Bei mir funktioniert dein Selektor $('channelstate.id=*.LEVEL')

      Was hast du in RL drin?
      48_2015-12-06_16_50_41-iobroker.admin.png

      1 Reply Last reply Reply Quote 0
      • V
        vegetto last edited by

        Hi ChyHan,

        die andere Funktionen wie $(functButton) sehen sehr komisch aus…

        Ich habe bei mir ein Script, um alle Rolladen auf/zumachen:

        function openBlinds(){
            log("Opening blinds");
            $('state[id=.LEVEL]').each(function(id, i){
                var object = getObject(id);
                if(object.native.CONTROL == "BLIND.LEVEL") {
                    log("Opening blind: "+getObject(id).common.name+" - "+id);
                    setState(id, 100);
                    }
                }
            });
        }
        
        

        @BlueFox: ich habe gesehen, dass Du und andere die Homematic IDs von Screenshots ausgraut. Was vermeidet ihr damit?.

        1 Reply Last reply Reply Quote 0
        • Bluefox
          Bluefox last edited by

          @vegetto:

          @BlueFox: ich habe gesehen, dass Du und andere die Homematic IDs von Screenshots ausgraut. Was vermeidet ihr damit?. `
          Das ist ganz ganz ganz theoretisch. :lol: Die Rolladen gehören bei mir zu nicht verschlüsselte Verbindung (kein AES) und falls jemand raus findet, wo ich wohne, dann kann er das Kommando in der Nähe senden (z.B. mit Homegear) um meine Rolladen zu steuern.

          Obwohl man kann natürlich sniffen und auch das Kommando senden.

          1 Reply Last reply Reply Quote 0
          • V
            vegetto last edited by

            @Bluefox:

            @vegetto:

            @BlueFox: ich habe gesehen, dass Du und andere die Homematic IDs von Screenshots ausgraut. Was vermeidet ihr damit?. `
            Das ist ganz ganz ganz theoretisch. :lol: Die Rolladen gehören bei mir zu nicht verschlüsselte Verbindung (kein AES) und falls jemand raus findet, wo ich wohne, dann kann er das Kommando in der Nähe senden (z.B. mit Homegear) um meine Rolladen zu steuern.

            Obwohl man kann natürlich sniffen und auch das Kommando senden. `
            😄

            Ich hatte vorher alle HM Verbindungen secured gemacht, wo ich es machen könnte. Ich hatte aber so viele Nachteilen, dass ich seit 2-3 Wochen alles ohne AES mache:

            • VIELE unreach Meldungen

            • Homematic Repeaters funktionieren nicht

            • Es gibt keine echte Verschlüsslung: die Daten sind noch on the clear -> es wird nur gegen man-in-the-middle Atacks benutzt.

            1 Reply Last reply Reply Quote 0
            • C
              ChyHan last edited by

              Im Moment sind 2 Rollladensteuerungen eingetragen:
              925_enum.functions.rl.jpg

              1 Reply Last reply Reply Quote 0
              • V
                vegetto last edited by

                Uhm, da sieht es gut aus…

                Ich habe dein Selektor bei mir probiert

                $('channel[state.id=*.LEVEL](functions=Blinds)').each(function(id) { log("R1: " + id); });
                
                

                Und ich bekommen alle meine Rolladen im log. So es muss etwas anderes sein. Kannst Du das Raw (nur Experten) kopieren? Vielleicht sieht man etwas mehr.

                [Edit]

                Könntest Du die andere enum.functions löschen? Die sehen nicht gut aus und vielleicht verhindert, das iobroker das RL enum prozessieren kann.

                1 Reply Last reply Reply Quote 0
                • C
                  ChyHan last edited by

                  Hier der raw Outout:

                  {
                    "desc": "",
                    "common": {
                      "name": "RL",
                      "members": [
                        "hm-rpc.0.LEQxxxxxxx.1",
                        "hm-rpc.0.LEQyyyyyyy.1"
                      ]
                    },
                    "native": {
                      "Name": "RL",
                      "TypeName": "ENUM",
                      "EnumInfo": ""
                    },
                    "acl": {
                      "object": 1638,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    },
                    "_id": "enum.functions.RL",
                    "type": "enum"
                  }
                  

                  Die anderen functions und rooms habe ich jetzt im iobroker und in der CCU gelöscht. Jetzt gibt es nur noch eine function hier:
                  925_enum.functions2.jpg

                  Bisher keine Änderung am Ergebnis.

                  1 Reply Last reply Reply Quote 0
                  • N
                    nobse last edited by

                    Hallo ChyHan

                    ich habe mich heute mit dem gleichen Problem beschäftigt.

                    Wollte alle Lichter zu einem bestimmten Zeitpunkt ausschalten und habe auch unter enum.function einen neuen Eintrag erzeugt.

                    und diesen dann per

                    $('channelstate.id=*.STATE').each(function(id,i) {…

                    abgefragt habe

                    auch hier kein Erfolgt.

                    Habe dann die Kiste wo ioBroker läuft neu gestartet und sieg da es geht.

                    Versuche es mal mit reboot.

                    Grß Norbert

                    1 Reply Last reply Reply Quote 0
                    • V
                      vegetto last edited by

                      @ChyHan:

                      Hier der raw Outout:

                      Bisher keine Änderung am Ergebnis. `

                      Deine enum RAW sieht wie meine auch. Kann es sein, dass das javascript Adaptor bei Dir nicht mehr lauft? Das ist mir ein paar mal passiert, wenn ich Sachen probiert habe.

                      Wenn Du ein log am Ende deine javascript schreibst, kannst Du es im Log sehen?

                      1 Reply Last reply Reply Quote 0
                      • C
                        ChyHan last edited by

                        Hi Norbert,

                        ich sage mal nur: "lol". :lol:

                        Der Restart meiner "Himbeere" hat das Problem auch gelöst.

                        Einen Tag Problem wälzen in den Sand gesetzt, aber jetzt kann ich in Ruhe und zufrieden einschlafen.

                        Danke Norbert und auch danke an vegetto

                        Gruß Christoph

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        545
                        Online

                        31.6k
                        Users

                        79.4k
                        Topics

                        1.3m
                        Posts

                        4
                        11
                        1687
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo