Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Allgemeine Frage zu Widget "jqui-mfd-ctrl-socket"

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Allgemeine Frage zu Widget "jqui-mfd-ctrl-socket"

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

      Hallo,

      ich verwende bei meiner Visualisierung mehrmals das oben genannte Widget. Funktioniert auch bestens.

      Jetzt habe ich aber einen Sonderfall der mir nicht klar ist. Wie funktioniert das mit der Extrasteuerung?

      Mein Plan ist, das zusätzlich zu der normalen Funktion (Setzen einer Systemvariable, ändern des Icons) auch je nach Schaltzustand verschiedene URLs abgesetzt werden sollen. Der Aufruf der netzinternen URL bewirkt das Senden eines IR-Befehles mittels der leider nicht mehr produzierten RedEye Hardware. Gebe ich die URL direkt im Browser ein, dann passt es. Nur mit der Extrasteuerung komme ich nicht klar. Gebe ich dort die URL's ein schaltet nicht mal mehr die Systemvariable um.

      Hat jemand einen Tipp wie das mit der Extrasteuerung genau funktioniert?

      LG

      Günther

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

        @Jeeper.at:

        Hallo,

        ich verwende bei meiner Visualisierung mehrmals das oben genannte Widget. Funktioniert auch bestens.

        Jetzt habe ich aber einen Sonderfall der mir nicht klar ist. Wie funktioniert das mit der Extrasteuerung?

        Mein Plan ist, das zusätzlich zu der normalen Funktion (Setzen einer Systemvariable, ändern des Icons) auch je nach Schaltzustand verschiedene URLs abgesetzt werden sollen. Der Aufruf der netzinternen URL bewirkt das Senden eines IR-Befehles mittels der leider nicht mehr produzierten RedEye Hardware. Gebe ich die URL direkt im Browser ein, dann passt es. Nur mit der Extrasteuerung komme ich nicht klar. Gebe ich dort die URL's ein schaltet nicht mal mehr die Systemvariable um.

        Hat jemand einen Tipp wie das mit der Extrasteuerung genau funktioniert?

        LG

        Günther `
        Es ist eins oder anderes. Du solltest das über Javascript lösen.

        1 Reply Last reply Reply Quote 0
        • Jeeper.at
          Jeeper.at last edited by

          Alles klar, danke für die Auskunft.

          Muss mich in JavaScript mal einarbeiten.

          Gibt es da irgendein HowTo wie man JavaScript in IOBroker anwendet?

          Adapter ist installiert.

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            Hilft das?

            http://www.iobroker.net/docu/?page_id=156&lang=de

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • Jeeper.at
              Jeeper.at last edited by

              Hallo, ja das ist ein Einstieg. Hätte ich auch selbst draufkommen können.

              Danke

              Lg

              Günther

              1 Reply Last reply Reply Quote 0
              • Jeeper.at
                Jeeper.at last edited by

                So, erste Schritte und nix geht.

                Irgendwie schaffe ich es nicht, das mein Script auf die Systemvariable horcht.

                Hat jemand einen Tipp?

                Ich kann die SV Ändern wie ich will, das Script wird nicht ausgelöst.

                var wz_ID = "hm-rega.0.6649.STATE"/*SV_Klima_WZ*/;
                var klima_activ = 0;
                
                on('wz_ID', function() {
                    log('Start');
                if (getState (wz_ID) === true && klima_activ === 0)
                  {klima_activ = 1;
                      log('einschalten');
                  }
                else if (getState (wz_ID) === false && klima_activ === 1)
                  {klima_activ = 0;
                      log('ausschalten');
                  }
                });
                
                1 Reply Last reply Reply Quote 0
                • H
                  Harry-IO-HM last edited by

                  versuchs mal ein debugging mit

                  getState('hm-rega.0.6649').val

                  ich glaube das Problem mit "/*Name" hatte ich auch mal, und nach try&error hat dann die obigen Syntax funktioniert.

                  • Harald
                  1 Reply Last reply Reply Quote 0
                  • P
                    pix last edited by

                    Hallo Jeeper.at,@Jeeper.at:

                    So, erste Schritte und nix geht.

                    Irgendwie schaffe ich es nicht, das mein Script auf die Systemvariable horcht.

                    Hat jemand einen Tipp?

                    Ich kann die SV Ändern wie ich will, das Script wird nicht ausgelöst.

                    var wz_ID = "hm-rega.0.6649.STATE"/*SV_Klima_WZ*/;
                    var klima_activ = 0;
                    
                    on('wz_ID', function() {
                        log('Start');
                    if (getState (wz_ID) === true && klima_activ === 0)
                      {klima_activ = 1;
                          log('einschalten');
                      }
                    else if (getState (wz_ID) === false && klima_activ === 1)
                      {klima_activ = 0;
                          log('ausschalten');
                      }
                    });
                    ```` `  
                    

                    In der Subscription (on) sind ein paar Fehler: Du hast den Variablenname mit dem Namen des Datenpunktes in Anführungszeichen gesetzt. Die Anführungszeichen nutzt du nur, wenn du den Namen des Datenpunktes verwenden willst. Ausserdem fehlt noch eine Bezeichnung für das Objekt, das von der Subscription zurückgegeben wird. Meist wird hier data, obj oder dp verwendet. Du kannst aber auch mietzekatze oder rambo schreiben 😄 function(dp) …

                    Weiterhin brauchst du innerhalb der Subscription/Überwachung eines Datenpunktes nicht noch einmal dessen Status mit getState abfragen. Die Subscription löst eh nur aus, wenn es eine Neuerung beim Datenpunkt gibt, daher ist der Status des Datenpunktes (dp.state.val) auch aktuell.

                    Jetzt mal alles zusammen:

                    var wz_ID = "hm-rega.0.6649.STATE"/*SV_Klima_WZ*/;
                    var klima_activ = 0;
                    
                    on(wz_ID, function(dp) { // reagieren auf Änderung, da keine weiteren Parameter angegeben
                        log('Start - Änderung von ' + wz_ID + ' festgestellt');
                        if (dp.state.val === true && klima_activ === 0) {
                            klima_activ = 1;
                            log('einschalten');
                        } else if (dp.state.val === false && klima_activ === 1) {
                            klima_activ = 0;
                            log('ausschalten');
                        }
                    });
                    

                    Vereinfacht auch so:````
                    var wz_ID = "hm-rega.0.6649.STATE"/SV_Klima_WZ/;
                    var klima_activ = 0;

                    on(wz_ID, function(dp) { // reagieren auf Änderung, da keine weiteren Parameter angegeben
                    log('Start - Änderung von ' + wz_ID + ' festgestellt');
                    klima_activ = Number(dp.state.val); // Number erzeugt Zahl aus Boolean false=0, true=1
                    log( (klima_activ === 0) ? 'ausschalten' : 'einschalten' ); // Kurzform für: wenn variable = 0 dann log 'ausschalten' sonst log 'einschalten'
                    });

                    
                    Oder noch kürzer:````
                    var wz_ID = "hm-rega.0.6649.STATE"/*SV_Klima_WZ*/;
                    
                    on(wz_ID, function(dp) { // reagieren auf Änderung, da keine weiteren Parameter angegeben
                        log( (Number(dp.state.val) === 0) ? 'Änderung von ' + wz_ID + ' festgestellt: ausschalten' : 'Änderung von ' + wz_ID + ' festgestellt: einschalten' ); 
                    });
                    

                    Gruß

                    Pix

                    1 Reply Last reply Reply Quote 0
                    • Jeeper.at
                      Jeeper.at last edited by

                      Hallo PIX,

                      vielen Dank. Ich bin gänzlich neu in Javascript. Normalerweise schlage ich mich mit ABAP herum.

                      Nun funktioniert mal das. Jetzt kann ich meine nächsten Versuche starten.

                      LG

                      Günther

                      1 Reply Last reply Reply Quote 0
                      • Jeeper.at
                        Jeeper.at last edited by

                        Hallo,

                        war ja klar, gleich die nächste Frage (aber nur so lernt man).

                        ich möchte in meinem Script einfach die folgende URL aufrufen.

                        var url = 'http://RedEye_F0101-39354.local.:8080/redeye/rooms/0/devices/274/commands/send?commandId=275';
                        

                        Es braucht kein Fenster oder so aufgehen, sondern nur die URL angesprochen werden.

                        Wie mache ich das?

                        LG

                        Günther

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        630
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        5
                        10
                        982
                        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