Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. HowTo: Zusatz-Programme fuer jarvis v3

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    HowTo: Zusatz-Programme fuer jarvis v3

    This topic has been deleted. Only users with topic management privileges can see it.
    • M-A Hueb
      M-A Hueb @MCU last edited by M-A Hueb

      @mcu Ich danke dir für deine Geduld. in einem privaten Fenster funktioniert es. ich leere jetzt mal alle Caches. Vielen Dank

      Und so wie du es gemacht hast passt es

      1 Reply Last reply Reply Quote 1
      • stephan1827
        stephan1827 @MCU last edited by stephan1827

        @mcu Vielen Dank für das ausführliche Skript. Ich bekomme leider eine Fehlermeldung wenn ich versuche das Skript auszuführen.

        a85d5994-e345-4bb1-8ca0-3decbf25dc61-image.png

        Kann das daran liegen das der Datenpunkt ein Objekt und kein String ist? Ich habe mal die Zeil 88 in

        let data = JSON.stringify(getState(dp).val);

        geändert, dann ist der Fehler weg, aber Daten bekomme ich immer noch nicht.

        M 1 Reply Last reply Reply Quote 0
        • M
          MCU @stephan1827 last edited by MCU

          @stephan1827 ja, ich schau mal.
          a1388449-b1df-4857-bad1-dd89ef8184b8-image.png

          let dataArr;
          if(getObject(dp).common.type == 'object'){
               dataArr = data;
          }else{
               dataArr = JSON.parse(data);
          }
          

          In Doku angepasst v1.0.1.

          stephan1827 1 Reply Last reply Reply Quote 0
          • stephan1827
            stephan1827 @MCU last edited by

            @mcu Super, das funktioniert

            1 Reply Last reply Reply Quote 0
            • M
              MCU last edited by MCU

              @hohenbostler
              Betonung liegt auf: Das ist kein Jarvis-Standard. Ich bin froh darüber, dass es funktioniert.
              Media Control Widget:
              Weil es bislang nie angefordert gewesen ist.
              Erkläre bitte ganz genau, was dort wie passieren soll, dann kann ich versuchen es hinzubekommen.

              Wo soll was hin?
              68fd9ff5-fdb0-4166-80c0-46b99dc45ba2-image.png

              M 1 Reply Last reply Reply Quote 0
              • M
                marsmännchen @MCU last edited by

                Hallo zusammen.

                Es geht um BlindLevelButtons

                Ich versuche mit dem Script zwei Datenpunkte (Rollladen rauf oder runter an meine Wago Steuerung) wie einen Taster (kurz True, dann wieder False) über die üblichen StateList Widgets zu tasten.
                Ich wollte dafür das Script BlindLevelButtons benutzen.
                Sollte mein vorhaben damit nicht funktionieren? Habe ich da einen Denkfehler?

                Beim Gerät in Jarvis, muss ich da noch die Datenpunkte einfügen? Automatisch erstellt habe ich nur "Level, Activity und Stop"
                Ich habe unter anderem versucht neue Datenpunkte einzufügen: ButtonUP, ButtonDown, und diese mit z.B: "0_userdata.0.jarvis.blindLevelButtons.DOWN" belegt
                Im Script habe ich meine Datenpunkte für die Wagosteuerung eingetragen (Zeile 10 und 15):

                let blindLevelButtonsDP = '0_userdata.0.jarvis.blindLevelButtons';
                let jarvisActivityDP   = blindLevelButtonsDP + '.activity';
                let jarvisStopDP       = blindLevelButtonsDP + '.stop';
                let jarvisLevelDP      = blindLevelButtonsDP + '.level';
                let useActivityDP      = blindLevelButtonsDP + '.useOnlyBothOn';
                let useAsButtons       = blindLevelButtonsDP + '.useAsButtons'; // Für Blinds
                // *** Je nach Anwendungsfall ***
                let setUpDP            = blindLevelButtonsDP + '.UP';   
                // muss man dann ersetzen durch die ID, die geschaltet werden soll
                let setUpIDDP          = 'modbus.0.coils.32780_xUGRollBueroUp'/*xUGRollBueroUp*/;
                let setUpIDDP          = blindLevelButtonsDP + '.upID';
                let setDownDP          = blindLevelButtonsDP + '.DOWN'; 
                
                // muss man dann ersetzen durch die ID, die geschaltet werden soll
                let setDownIDDP        = 'modbus.0.coils.32779_xUGRollBueroDn'/*xUGRollBueroDn*/;
                let setDownIDDP        = blindLevelButtonsDP + '.downID';
                let setStopDP          = blindLevelButtonsDP + '.STOP'; 
                

                Bei der Widget Konfiguration kommt was?
                buero1.PNG

                Also alles in allem kenn ich mich scheinbar gar nicht damit aus, denn der Rolladen schaltet so zwar rauf und runter, aber eigentlich sollte er bei nochmaligen drücken der jeweilligen Taste wieder stehen bleiben.

                Oder sehe ich die Funktion von "BlindLevelButtons" ganz falsch?
                MfG
                Patrick

                M 1 Reply Last reply Reply Quote 0
                • M
                  MCU @marsmännchen last edited by MCU

                  @marsmännchen Bin unterwegs. Muss ich mir genauer anschauen.
                  Taster ist mehr blindLevelUpDown.
                  Schau mal dort.
                  Ansonsten evtl. heute abend genauer.

                  Du willst doch normale Rollladen steuern. Also Standard BlindLevel-Steuerung verwenden -> keine zusätzlichen Scripte.

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    marsmännchen @MCU last edited by marsmännchen

                    @mcu
                    Ja, normale Rolläden.
                    Diese funktionieren auch mit den Standard BlindLevel.

                    ABER:

                    Ich benötige eine spezielle Stopfunktion.
                    Speziell deshalb weil:

                    Ich habe für die Wago SPS einmal Byte für den Level
                    Einmal Taster Bool für Rauf und einmal Taster Bool für Runter.

                    So hätte ich es gerne:
                    Wenn ich den Taster für rauf drücke und der Rolladen rauf fährt, drücke ich nochmal die rauf Taste und der Rolladen bleibt stehen. Das gleiche für runter. So wie es mit den Hardwaretastern (welche mit der SPS verbunden sind) vor Ort funktioniert.

                    Wie gesagt, in der Visu hab ich eben nur Datenpunkte Level, Rauf und Runter. Leider kein Stop.
                    Daher wäre es für mich günstig wenn ich die Jarvis-Buttons als Taster an die jeweilligen Datenpunkte knüpfen könnte.
                    Derzeit sieht es für mich aus als würde er nur mit Level arbeiten. Button runter : Level 0; Button rauf Level 100.
                    Aber damit kann ich nicht während der Fahrt des Rolladen stehen bleiben.
                    MfG
                    Patrick

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      MCU last edited by

                      @Hohenbostler Lass uns hier weitermachen.
                      Ja bei Klick auf das Bild wird der Befehl, den du eingegeben hast, angewendet.
                      Gibt es da ein Problem?
                      Wie sieht es denn jetzt im Frontend aus?

                      H 1 Reply Last reply Reply Quote 0
                      • M
                        MCU @marsmännchen last edited by

                        @marsmännchen Hast du dir mal die BlindLevelUpDown angeschaut und ausprobiert?

                        1 Reply Last reply Reply Quote 0
                        • H
                          Hohenbostler @MCU last edited by

                          @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                          @Hohenbostler Lass uns hier weitermachen.
                          Ja bei Klick auf das Bild wird der Befehl, den du eingegeben hast, angewendet.
                          Gibt es da ein Problem?
                          Wie sieht es denn jetzt im Frontend aus?

                          Es sieht aktuell so aus.

                          1058e343-1d10-43e6-b8a1-f78b55ff07e2-image.png

                          und im Widget so.

                          b68121a5-ec4a-4b31-add9-49a6d5313240-image.png

                          Probleme gibt es soweit nur das ich gerne das Bild welches ich im css eingebe sehe. NUr glaube ich das ist falsch so wie ich es machen

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MCU @Hohenbostler last edited by MCU

                            @hohenbostler Probier mal

                            .jarvis-widget-32eb5c63-3524-4f83-a736-a15c1522455a .HomeKitTile.grid .center {
                               background-image: url(https://www.google.de/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png);
                            }
                            

                            Warum nutzt du für die Auswahl der Playlisten in den unterschiedlichen Räumen nicht jeweils eine DropDown-Liste?

                            H 1 Reply Last reply Reply Quote 0
                            • H
                              Hohenbostler @MCU last edited by

                              @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                              .jarvis-widget-32eb5c63-3524-4f83-a736-a15c1522455a .HomeKitTile.grid .center { background-image: url(https://www.google.de/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png); }

                              Jetzt sieht es so aus.

                              e8f28015-3f03-4109-965e-5be63baf787e-image.png

                              @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                              Warum nutzt du für die Auswahl der Playlisten in den unterschiedlichen Räumen nicht jeweils eine DropDown-Liste?

                              Naja weil ich nicht möchte das im Frontend jemand die Alexa ändern kann.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MCU @Hohenbostler last edited by

                                @hohenbostler Aber gerade dann kann keiner die Alexa ändern, denn du brauchst dann keine Anzeige von MediaControl.
                                Nur über MediaControl hat man die Möglichkeit die Alexa einzustellen.

                                H 1 Reply Last reply Reply Quote 0
                                • H
                                  Hohenbostler @MCU last edited by

                                  @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                  Control hat man die Möglich

                                  Ich glaube wir reden an einander vorbei.

                                  fcb111af-68c2-47a4-a20e-bbe6288c1d46-image.png

                                  Im Prinzip simpel. Die Funktion möchte ich nicht im Frontend haben sondern im Widget auswählen können.
                                  Dafür muss natürlich das Media COntrol Widget mehrmals angelegt werden ( pro Raum ) und pro Widget stelle ich dann die fest dazu gehörige Alexa ein.

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    MCU @Hohenbostler last edited by MCU

                                    @hohenbostler Also was ich anbieten könnte ist, dass man einen eigenen DP definiert, mit dem man entscheidet, ob die Alexa-Auswahl möglich ist oder nicht. Dazu muss man dann aber ein Programm unter scripts installieren.
                                    Man muss ja einmal die Möglichkeit haben es im Frontend einzustellen, denn daran kann ich nichts machen.
                                    Das kann nur Zefau -> Feature Request, aber das dauert...

                                    Wie lange dauert es bei Dir bis das MediaControl nach Reload genutzt werden kann? 10 Sekunden?

                                    Hier hat es einer mal als Kombination displayImage und StateList umgesetzt.
                                    7c17938c-500a-4f6d-a935-f94fda7ecd9f-image.png

                                    M H 2 Replies Last reply Reply Quote 0
                                    • M
                                      marsmännchen @MCU last edited by

                                      @mcu
                                      Ja, BlindLevelUpDown habe ich auch versucht. Nur da stellt sich mir die Frage wo ich damit meine Datenpunkte welche die Buttons von Jarvis "tasten" eintragen muss. In welcher Zeile?
                                      Zeile 22 und 27 und kommentar weg? oder zeile 23 und 28 austauschen?
                                      Wenn ich das mal rausfinde damit ich es sicher richtig mache kann ich der Sache weiter nachgehen warum es nicht funktioniert.

                                      // ************************
                                      // BlindLevelUpDown v1.0.0
                                      // abgeändertes BlindLevelButton-Script
                                      // Copyright ©MCU
                                      // ************************
                                      // Kann man für unterschiedliche Tastern erweitern -> blindLevelUpDown1
                                      // Pro Double-Taster ein Script
                                      //
                                      // Offene Punkte: Rahmen von BlindLevelAction weg / transparent?
                                      // evtl als Kreis?
                                      
                                      
                                      let blindLevelUpDownDP = '0_userdata.0.jarvis.blindLevelUpDown'; // Kann man für unterschiedliche Tastern erweitern -> blindLevelUpDown1
                                      let jarvisActivityDP   = blindLevelUpDownDP + '.activity';
                                      let jarvisStopDP       = blindLevelUpDownDP + '.stop';
                                      let jarvisLevelDP      = blindLevelUpDownDP + '.level';
                                      let useActivityDP      = blindLevelUpDownDP + '.useOnlyBothOn';
                                      let useAsButtons       = blindLevelUpDownDP + '.useAsButtons'; // Für Blinds
                                      // *** Je nach Anwendungsfall ***
                                      let setUpDP            = blindLevelUpDownDP + '.UP';   
                                      // muss man dann ersetzen durch die ID, die geschaltet werden soll
                                      // let setUpIDDP          = 'hue-extended.0.lights.008-schreibtisch_unten.action.on';
                                      let setUpIDDP          = blindLevelUpDownDP + '.upID';
                                      let setDownDP          = blindLevelUpDownDP + '.DOWN'; 
                                      
                                      // muss man dann ersetzen durch die ID, die geschaltet werden soll
                                      // let setDownIDDP        = 'wifilight.0.192_168_178_62.on';
                                      let setDownIDDP        = blindLevelUpDownDP + '.downID';
                                      //let setStopDP          = blindLevelUpDownDP + '.STOP'; 
                                      
                                      // muss man dann ersetzen durch die ID, die geschaltet werden soll
                                      // let setStopIDDP        = 'STOP'; // ID oder STOP -> toggle auf setUpIDDP und setDownIDDP
                                      // let setStopIDDP        = blindLevelUpDownDP + '.stopID';
                                      
                                      let setLevelDistance   = blindLevelUpDownDP + '.levelDistance';
                                      
                                      
                                      
                                      
                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        MCU @marsmännchen last edited by MCU

                                        @marsmännchen
                                        a5f1bc36-f574-4c6e-8608-e88b27d77c2c-image.png

                                        6857dd19-9fda-407d-ae56-dd4e365b5200-image.png

                                        M 1 Reply Last reply Reply Quote 1
                                        • H
                                          Hohenbostler @MCU last edited by

                                          @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                          @hohenbostler Also was ich anbieten könnte ist, dass man einen eigenen DP definiert, mit dem man entscheidet, ob die Alexa-Auswahl möglich ist oder nicht. Dazu muss man dann aber ein Programm unter scripts installieren.
                                          Man muss ja einmal die Möglichkeit haben es im Frontend einzustellen, denn daran kann ich nichts machen.
                                          Das kann nur Zefau -> Feature Request, aber das dauert...

                                          Wie lange dauert es bei Dir bis das MediaControl nach Reload genutzt werden kann? 10 Sekunden?

                                          Hier hat es einer mal als Kombination displayImage und StateList umgesetzt.
                                          7c17938c-500a-4f6d-a935-f94fda7ecd9f-image.png

                                          Wie lange es dauert kann ich nicht sagen. Und danke für die Hilfe aber mit scripten usw möchte ich da auch nicht rum experimentieren. Ich mache ein Feature Request auf. Mal schauen.

                                          Hast du schon eine Idee wegen dem Bild ?

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            MCU @Hohenbostler last edited by

                                            @hohenbostler

                                            .jarvis-widget-32eb5c63-3524-4f83-a736-a15c1522455a .HomeKitTile.grid  {
                                              background-image: url(https://www.google.de/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png);
                                            }
                                            
                                            H 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            442
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            30
                                            858
                                            150690
                                            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