Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Bild wechsel Garagentor Stellung [gelöst]

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Bild wechsel Garagentor Stellung [gelöst]

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

      Hallo ich brauch mal bitte etwas Starthilfe.

      Mein Garagentor hat drei Stellungen die es auch Zurückmeldet (Zu,Lüftung,Auf).

      Leider aus zwei IDs und das macht es mir schwer das entsprechende Bild darzustellen.

      Ich bin im Skripten leider Anfänger, deshalb weiß ich auch nicht wo ich anfangen soll. Auch Blockly fällt mir in diesem Fall schwer, weil ich ja ID und Bild tauschen müsste…

      Hier mal meine IDs/Abhängigkeiten:

      Tor zu

      hm-rpc.1.xxx.2.STATE

      false

      /vis.0/main/img/garage_zu.png

      Tor Lüftung

      hm-rpc.1.xxx.2.STATE

      true

      /vis.0/main/img/garage_lueftung.png

      Tor auf

      hm-rpc.1.xxx.1.STATE

      true

      /vis.0/main/img/garage_auf.png

      Es ist alles mit Homematic Teilen gemacht, aber das Programm dafür wollte ich nicht dort machen. Wäre sicher einfach bei drei Zuständen.

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

        Vorschlag:

        const idAuf   = 'hm-rpc.1.xxx.1.STATE';
        const idLueft = 'hm-rpc.1.xxx.2.STATE`;
        const idVis   = 'javascript.0.Tor'; // Datenpunkt für VIS
        
        createState(idVis, 0, {type: 'number', min: 0, max: 2});
        
        var auf = getState(idAuf).val;
        var lueft = getState(idLueft).val;
        
        function tor() {
           var vis = 0;       // Tor zu
           if(lueft) vis = 1; // Lüftung
           if(auf) vis = 2;   // Tor auf
           setState(idVis, vis, true);
        }
        
        tor(); // Skriptstart
        
        on(idAuf, function(dp) {
           auf = dp.state.val;
           tor();
        });
        
        on(idLueft, function(dp) {
           lueft = dp.state.val;
           tor();
        });
        
        
        1 Reply Last reply Reply Quote 0
        • L
          lutzer last edited by

          Ich danke dir.

          Doofe Fragen: wo hin damit? Und welches widget muss ich dafür nehmen?

          Sorry bin wirklich Anfänger

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

            @lutzer:

            wo hin damit? `
            Im Javascript-Adapter ein neues Skript anlegen (unter der Gruppe common) und das Skript aus dem Forum in das Editor-Fenster kopieren (copy & paste).
            @lutzer:

            Und welches widget muss ich dafür nehmen? `
            Mit Vis kenne ich mich nicht aus.

            1 Reply Last reply Reply Quote 0
            • sigi234
              sigi234 Forum Testing Most Active last edited by

              Nimm das Widget und passe es an :

              [{"tpl":"tplMfdDoor","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","asButton":false,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"closed_icon":"/icons-mfd-svg/fts_sliding_gate_l_closed.svg","closed_iconColor":"#29ff33","tilted_icon":"/icons-mfd-svg/fts_sliding_gate.svg","opened_icon":"/icons-mfd-svg/fts_sliding_gate_open.svg","opened_iconColor":"#e60000","invert_icon":false,"invert_state":false,"tilted_iconColor":"#fdbb12"},"style":{"left":"231px","top":"461px","width":"139px","height":"128px"},"widgetSet":"jqui-mfd"}]
              
              1 Reply Last reply Reply Quote 0
              • L
                lutzer last edited by

                Irgendwie wird der Zustand nicht verändert.

                Das sagt die log:

                javascript.0	2018-10-20 19:58:51.255	info	script.js.common.garage: registered 2 subscriptions and 0 schedules
                javascript.0	2018-10-20 19:58:51.255	warn	at script.js.common.garage:17:1
                javascript.0	2018-10-20 19:58:51.255	warn	at tor (script.js.common.garage:14:4)
                javascript.0	2018-10-20 19:58:51.253	warn	State "javascript.0.Tor" not found
                javascript.0	2018-10-20 19:58:51.250	info	Start javascript script.js.common.garage
                

                Ist das so richtig im Vis?
                8604_unbenannt-4.png

                1 Reply Last reply Reply Quote 0
                • sigi234
                  sigi234 Forum Testing Most Active last edited by

                  @lutzer:

                  Mein Garagentor hat drei Stellungen die es auch Zurückmeldet (Zu,Lüftung,Auf). `

                  Wohin meldet es den?

                  1 Reply Last reply Reply Quote 0
                  • L
                    lutzer last edited by

                    Problem ist eben das es zwei verschiedene "Devices" sind. Ist ein "HmIP-MOD-RC8" der auf Kanal 1 und 2 die entsprechenden Rückmeldungen gibt.

                    Hier mal meine IDs/Abhängigkeiten:

                    Tor zu

                    hm-rpc.1.xxx.2.STATE

                    false

                    /vis.0/main/img/garage_zu.png

                    Tor Lüftung

                    hm-rpc.1.xxx.2.STATE

                    true

                    /vis.0/main/img/garage_lueftung.png

                    Tor auf

                    hm-rpc.1.xxx.1.STATE

                    true

                    /vis.0/main/img/garage_auf.png

                    1 Reply Last reply Reply Quote 0
                    • sigi234
                      sigi234 Forum Testing Most Active last edited by

                      Zeig mir mal bitte den Objektbaum…....

                      1 Reply Last reply Reply Quote 0
                      • L
                        lutzer last edited by

                        8604_unbenannt-5.png

                        1 Reply Last reply Reply Quote 0
                        • L
                          lutzer last edited by

                          Ich habe es auch mal als Homematic Programm mit einer Variable getestet. Dauert aber ewig bis die aktuelle Variable im iobroker ankommt.
                          8604_tor-hm.png

                          Ich habe es auch mit Signalbildern geschummelt, aber da kann man ja immer nur einen Teil ersetzen. Signal halt…
                          8604_tor-signalbilder.png

                          1 Reply Last reply Reply Quote 0
                          • sigi234
                            sigi234 Forum Testing Most Active last edited by

                            Na ja du hast ja alle Datenpunkte, warum braucht du dann noch ein Skript?

                            Die DP ändern sich in true oder false wenn du das Garagentor auf oder zu machst?

                            Stoppe mal das Skript und setze vom deinen Objekt den DP in das Widget ein.

                            1 Reply Last reply Reply Quote 0
                            • L
                              lutzer last edited by

                              Weil ich zwei verschiedene Objekt IDs brauche und eine kann man ja nur anwählen.

                              Zu und Lüftung kommt von einem Kanal 2 (true/false), aber Auf kommt von Kanal 1 (true)

                              Tor zu

                              2.STATE = false

                              /vis.0/main/img/garage_zu.png

                              Tor Lüftung

                              2.STATE = true

                              /vis.0/main/img/garage_lueftung.png

                              Tor auf

                              1.STATE = true

                              /vis.0/main/img/garage_auf.png

                              Ein Script könnte mir die Zustände sammeln und dann eben nur noch 0,1,2 ausgeben. Und bei entsprechnder Zahl kann ich dann im Widget ein Bild zuordnen. So dachte ich es mir :?

                              1 Reply Last reply Reply Quote 0
                              • sigi234
                                sigi234 Forum Testing Most Active last edited by

                                Dann leg 2 Widget an, und setze sie übereinander und stelle die Sichtbarkeit ein….........

                                1 Reply Last reply Reply Quote 0
                                • L
                                  lutzer last edited by

                                  Wenn aus dem Script von Paul tatsächlich Zahlen rauskommen würden, dann könnte ich doch prima mit deinem Widget arbeiten.

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    lutzer last edited by

                                    @paul53

                                    Kannst du mir bitte noch sagen wie ich mit dem Script arbeite?

                                    Ich verstehe leider zu wenig von Javascript.

                                    Was erzeugt das "javascript.0.Tor"? Da steht leider immer nur eine 0. - Sorry passt, es erzeugt 0,1,2 - Ich hatte den Haken bei Debug…. :?

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      lutzer last edited by

                                      Hier noch mal als Zusammenfassung, weil es funktioniert und mit Sicherheit weiterhilft.

                                      Aufgabenstellung:

                                      Mein Garagentor hat drei Stellungen die es auch Zurückmeldet (Zu,Lüftung,Auf).

                                      Es sind zwei verschiedene "Devices": von einem Homematic Sender "HmIP-MOD-RC8" der auf Kanal 1 und 2 die entsprechenden Rückmeldungen

                                      Hier mal meine IDs/Abhängigkeiten:

                                      Tor zu

                                      hm-rpc.1.xxx.2.STATE

                                      false

                                      /vis.0/main/img/garage_zu.png

                                      Tor Lüftung

                                      hm-rpc.1.xxx.2.STATE

                                      true

                                      /vis.0/main/img/garage_lueftung.png

                                      Tor auf

                                      hm-rpc.1.xxx.1.STATE

                                      true

                                      /vis.0/main/img/garage_auf.png

                                      8604_unbenannt-5.png

                                      Ich habe von paul53 folgendes Script bekommen, was unter "Objekte" einen State mit entsprechendem Wert (0,1,2) erzeugt.

                                      Ein neues Script unter Javascript/common erzeugen und folgenden Code einfügen:

                                      const idAuf   = 'hm-rpc.1.xxx.1.STATE';
                                      const idLueft = 'hm-rpc.1.xxx.2.STATE`;
                                      const idVis   = 'javascript.0.Tor'; // Datenpunkt für VIS
                                      
                                      createState(idVis, 0, {type: 'number', min: 0, max: 2});
                                      
                                      var auf = getState(idAuf).val;
                                      var lueft = getState(idLueft).val;
                                      
                                      function tor() {
                                         var vis = 0;       // Tor zu
                                         if(lueft) vis = 1; // Lüftung
                                         if(auf) vis = 2;   // Tor auf
                                         setState(idVis, vis, true);
                                      }
                                      
                                      tor(); // Skriptstart
                                      
                                      on(idAuf, function(dp) {
                                         auf = dp.state.val;
                                         tor();
                                      });
                                      
                                      on(idLueft, function(dp) {
                                         lueft = dp.state.val;
                                         tor();
                                      });
                                      

                                      Nun kann man im Vis folgendes Widget importieren:

                                      Hinweis - vorher "vis-jqui-mfd.0" Adapter installieren, sonst sieht man nichts…

                                      [{"tpl":"tplMfdDoor","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","asButton":false,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"closed_icon":"/icons-mfd-svg/fts_sliding_gate_l_closed.svg","closed_iconColor":"#29ff33","tilted_icon":"/icons-mfd-svg/fts_sliding_gate.svg","opened_icon":"/icons-mfd-svg/fts_sliding_gate_open.svg","opened_iconColor":"#e60000","invert_icon":false,"invert_state":false,"tilted_iconColor":"#fdbb12"},"style":{"left":"231px","top":"461px","width":"139px","height":"128px"},"widgetSet":"jqui-mfd"}]
                                      

                                      Jetzt die Parameter im widget einstellen:
                                      8604_widget_garage_einstellungen.png

                                      Danke an paul53 und sigi234 für den Support.

                                      Ich denke das ich mit der Zusammenfassung etwas wieder zurück geben kann. Das fällt mir auch immer sehr schwer Beiträge ohne happy end zu lesen. 😉

                                      1 Reply Last reply Reply Quote 0
                                      • sigi234
                                        sigi234 Forum Testing Most Active last edited by

                                        Das freut mich das es geklappt hat…........... 🙂

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

                                          @lutzer:

                                          Zusammenfassung, weil es funktioniert `
                                          Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          787
                                          Online

                                          31.9k
                                          Users

                                          80.2k
                                          Topics

                                          1.3m
                                          Posts

                                          3
                                          19
                                          1250
                                          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