Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. HABPanel und "Switch dashboard with item value"

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    HABPanel und "Switch dashboard with item value"

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

      Hallo zusammen,

      kann mir jemand erklären, wie man im HabPanel die o.g. Funktion nutzt? Bei den Panel Settings ist das entsprechende Pull-Down Menü leer und ich kann da auch nichts eintragen...
      Danke!

      Gruß
      SuperElmi

      S 1 Reply Last reply Reply Quote 0
      • S
        SuperElmi @SuperElmi last edited by

        @SuperElmi FUP!

        Lucas Wolfer 1 Reply Last reply Reply Quote 0
        • Lucas Wolfer
          Lucas Wolfer @SuperElmi last edited by

          @superelmi Hast du das Problem gelöst? Habe gerade das selbe Problem und schon vieles versucht…

          G 1 Reply Last reply Reply Quote 0
          • G
            graf_hektisch @Lucas Wolfer last edited by

            @lucas-wolfer schließe mich an... gleiches Problem... hast du eine Idee?

            jahnbes 1 Reply Last reply Reply Quote 0
            • jahnbes
              jahnbes @graf_hektisch last edited by

              @graf_hektisch
              Hallo, hat inzwischen jemand eine funktionierende Anwort gefunden? Ich wäre sehr dankbar!
              Oder einen anderen Weg entdeckt, wie ich bei der Kombination iobroker-HABpanel mit einem selbstprogrammierten Button / Widget das Dashboard gezielt wechseln kann? Das hat mich jetzt zwei Tage gekostet, gefunden habe ich aber nichts.

              T 1 Reply Last reply Reply Quote 0
              • T
                TKls @jahnbes last edited by TKls

                Ja es geht, aber es bedarf einiger Anpassungen. Dazu müssen einige Dateien editiert werden. Dies kann mit der Admin-Oberfläche von iobroker erledigt werden.

                Datei: habpanel/app/settings/settings.html:
                Ungefähr in Zeile 125 steht:

                <select ng-model="settings.dashboard_control_item" ng-change="vm.saveOptions()" ng-options="item.name as item.name  for item in items  | filter: vm.isStringItem " class="form-control">
                

                Der Filter

                 | filter: vm.isStringItem
                

                muss gelöscht werden. Hintergrund ist, dass das originale OpenHAB in $rootSope.items ein Array liefert, das gefiltert werden kann. ioBroker liefert aber ein Object. Die Liste ist zwar sehr lang, aber vermutlich steht die gewünschteVariable eh in 0:userdata, so dass das mehrmalige tippen einer Null reicht, um das gewünschte Element zu erreichen.

                Wer plant, die Sprachausgabe zu benutzen, kann einige Zeilen darüber gleich den Filter bei der speech_synthesis_item mit entfernen.

                Datei: habpanel/app/dashboard/dashboard.view.controller.js
                Ungefähr in Zeile 50 wird die Function activate definiert:

                function activate() {
                        $timeout(function() {
                            OHService.reloadItems();
                            OHService.getLocale();
                        });
                

                Das ist zu ändern in:

                        $timeout(function() {
                            OHService.reloadItems();
                            OHService.getLocale();
                
                            // subscribe to dashboard control and send id back to ioBroker
                            if ($rootScope.settings.dashboard_control_item) {
                              OHService.getItem($rootScope.settings.dashboard_control_item);
                              OHService.sendCmd($rootScope.settings.dashboard_control_item, dashboard.id);
                            }
                
                            // subscibe to speech control
                            if ($rootScope.settings.speech_synthesis_item) {
                                OHService.getItem($rootScope.settings.speech_synthesis_item); 
                            }
                        });
                

                Hintergrund ist hier, dass ein Object, das von ioBroker geholt werden soll, auch registriert werden muss und dass wird damit zu Beginn jedes einzelnen Dashboards gemacht. Vermutlich würde auch einmal zentral reichen.

                Zusätzliches Feature ist hier die Zeile

                OHService.sendCmd($rootScope.settings.dashboard_control_item, dashboard.id);
                

                Diese meldet das gestartete Dashboard an die Variable in ioBroker zurück und ist damit für weitere Automatisierungen verfügbar.

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

                Support us

                ioBroker
                Community Adapters
                Donate

                408
                Online

                32.0k
                Users

                80.4k
                Topics

                1.3m
                Posts

                vis
                5
                6
                1019
                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