Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [frage]Objekt mit Rolle ''button" geht nur einmal

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [frage]Objekt mit Rolle ''button" geht nur einmal

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

      Hallo,

      wenn ich ein Objekt mit Rolle"button" erzeuge

      createState('javascript.0.Sony_Bravia_VAR.TV.SenderLesen', false,{type: "boolean", role: "button"});
      

      und mit

            on( 'javascript.0.Sony_Bravia_VAR.TV.SenderLesen' , function (obj){
              MySonyTV.avContent.getContentList([{source:"tv:dvbc",target:"",type:"",cnt:50,stIdx:""}])
      
        });
      
      

      auf das Ereigniss reagiere, funktioniert das beim ausfühen des Skript genau 1 mal ! bei einem erneuten klick auf den Button passiert nichts mehr, mit normale True/False auswahl funktioniert es allerdings.

      Es scheint so als ob einfach kein weiteres Ereigniss mehr ausgelöst wird (das code darin spielt keine Rolle, ein einfaches console.log wir ebenfalls nicht ausgeführt

      was kann das sein ?

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

        Versuche es mal so:

        on({id: 'javascript.0.Sony_Bravia_VAR.TV.SenderLesen', val: true}, function (obj){
            MySonyTV.avContent.getContentList([{source:"tv:dvbc",target:"",type:"",cnt:50,stIdx:""}]);
            setState(obj.id, false);   
        });
        
        1 Reply Last reply Reply Quote 0
        • L
          Lucky last edited by

          jo !! danke ! so klappt es ! aber warum ? ist doch eigentlich ein Bug, oder ?

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

            @Lucky:

            ist doch eigentlich ein Bug, oder ? `
            Nein, es ist so gewollt.

            In der Kurzform des Musters (kein Objekt, nur ID-String) wird nur bei Wertänderungen (change: 'ne') ausgelöst, weil es die meist benötigte Auslösung ist. In der Objektform des Musters ist change: 'any' voreingestellt, was bedeutet, dass jede Aktualisierung des Zeitstempels (ts) - auch ohne Wertänderung - auslöst, wie es bei einem Button benötigt wird:

            493_on_button.jpg
            Die Triggerung auf einen Button funktioniert also auch so:

            on({id: 'javascript.0.Sony_Bravia_VAR.TV.SenderLesen'}, function(){
                MySonyTV.avContent.getContentList([{source:"tv:dvbc",target:"",type:"",cnt:50,stIdx:""}]);
            });
            
            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            700
            Online

            31.7k
            Users

            79.8k
            Topics

            1.3m
            Posts

            2
            4
            1303
            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