Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Slider soll Werte anzeigen und Event auslösen

    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

    Slider soll Werte anzeigen und Event auslösen

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

      Hallo! Ich nutze aktuell in meiner Vis die FancySlider. Ich bekomme es aber einfach nicht hin, den Slider anhand eines Wertes anzuzeigen, beim betätigen aber ein anderes Event auszulösen.

      Konkret: Der Slider zeigt den State der Ping-Instanz eines PCs an. Soweit so gut ... ist der PC aus, ist der Slider OFF, ist der PC an, ist der Slider ON.

      Jetzt möchte ich aber den PC einschalten, wenn man den Slider von OFF auf ON schaltet. Am einfachsten wäre es natürlich, wenn man seperat einstellen kann, welchen Wert er anzeigt und was beim Klicken passiert.

      Alternative wäre über scripten ... Ich schalte also über den Slider die Ping-Instanz auf TRUE und dann reagiert ein Script, welches den PC einschaltet. Schöner Gedanke, leider schaltet sich die Ping-Instanz bei jedem Ping-Check auf TRUE. Der Rechner schickt also bei jedem Check ein WoL Paket, wodurch der PC nicht mehr einschläft.

      Danach hatte ich die Idee, den alten Wert zu speichern und dann zu prüfen. Auch falsch, denn der Ping-Check setzt den State erst auf FALSE, dann auf TRUE.

      var wol = require('wake_on_lan');
      
      on({id: "ping.0.xxx.192_168_0_25", change: true}, function (obj) {
          if (getState("javascript.0.WoLHTPC") === false) {
              log("WoL geschickt", "info");
              wol.wake('10:C3:7B:9E:04:1A', {
                address: '192.168.0.255',
                port: 7
              });
          }
          log("WoLHTPC auf true", "info");
          setState('javascript.0.WoLHTPC', true);
      });
      
      on({id: "ping.0.xxx.192_168_0_25", change: false}, function (obj) {
          log("WoLHTPC auf false", "info");
          setState('javascript.0.WoLHTPC', false);
      });
      

      Ausgabe:

      10:19:54.508	[info]	javascript.0 script.js.testing.WoL: WoLHTPC auf true
      10:19:54.507	[info]	javascript.0 script.js.testing.WoL: WoLHTPC auf false
      
      1 Reply Last reply Reply Quote 0
      • D
        DerKiLLa last edited by

        Okay, war ein Fehler von mir ... hätte mir vorher mal das change: Event anschauen sollen.

        var wol = require('wake_on_lan');
        
        on({id: "ping.0.xxx.192_168_0_25", change: 'any'}, function (obj) {
            if (obj.state.val === true) {
                if (getState("javascript.0.WoLHTPC").val === false) {
                    log("WoL geschickt", "info");
                    wol.wake('10:C3:7B:9E:04:1A', {
                      address: '192.168.0.255',
                      port: 7
                    });
                    setState('javascript.0.WoLHTPC', true);
                }
                log("if PING: " + obj.state.val + " WoLHTPC: " + getState("javascript.0.WoLHTPC").val, "info");
            }
            else {
                log("else PING: " + obj.state.val + " WoLHTPC: " + getState("javascript.0.WoLHTPC").val, "info");
                setState('javascript.0.WoLHTPC', false);
            }
        });
        
        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        933
        Online

        31.9k
        Users

        80.1k
        Topics

        1.3m
        Posts

        vis
        1
        2
        251
        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