Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Gelöst] Taster doppelt drücken

    NEWS

    • js-controller 3.2 jetzt im STABLE!

    • Alexa2 Adapter: ACHTUNG UPDATE auf 3.7.x nötig!!

    • ioBroker Fertigimages für Einplatinencomputer eingestellt

    [Gelöst] Taster doppelt drücken

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

      Hallo,
      um einen Befehl und die Rückmeldung für die Vis in ein Objekt zu bekommen, habe ich hier im Forum für meine Rolläden das folgende Skript gefunden und entsprechend angepasst.

      //Esszimmer
      const idCmd4 = 'knx.0.Rollo_EG_Neubau.Esszimmer.Positionierung';  // Datenpunkt-ID für Kommando
      const idStat4 = 'knx.0.Rollo_EG_Neubau.Esszimmer.Position'; // Datenpunkt-ID für Status
      const idVis4 = 'javascript.0.scriptEnabled.Rolladen.Rolladen_Esszimmer'; // Datenpunkt für gleichzeitige Anzeige / Bedienung
      const js4 = 'system.adapter.javascript.' + instance;
      createState(idVis4, getState(idStat4).val, {type: 'boolean'}); // Datenpunkt erzeugen
      on({id: idVis4, change: 'ne', fromNe: js4}, function(dp) {
      setState(idCmd4, dp.state.val);
      });
      on(idStat4, function(dp) {
      setState(idVis4, dp.state.val, true);
      });
      

      Dies funktioniert auch tadellos.

      Da ich dies auch mit den Tastern machen muss, habe ich das gleiche Skript genommen.
      Hier muss ich aber zum Ein und Ausschalten je zweimal drücken 😞
      Die Rückmeldung in der Vis stimmt aber so weit.

      //Büro
      const idCmd1 = 'modbus.0.coils.12458_Taster_Kind 2 Licht Decke AB';  // Datenpunkt-ID für Kommando
      const idStat1 = 'modbus.0.coils.582_KL12_DO7'; // Datenpunkt-ID für Status
      const idVis1 = 'Licht.0.Licht_Büro_Altbau'; // Datenpunkt für gleichzeitige Anzeige / Bedienung
      const js1 = 'system.adapter.javascript.' + instance;
      createState(idVis1, getState(idStat1).val, {type: 'boolean'}); // Datenpunkt erzeugen
      on({id: idVis1, change: 'ne', fromNe: js1}, function(dp) {
      setState(idCmd1, dp.state.val);
      });
      on(idStat1, function(dp) {
      setState(idVis1, dp.state.val, true);
      });
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Tim1988 last edited by

        @Daytona-Saar sagte:

        Da ich dies auch mit den Tastern machen muss

        Welche Datenpunkte sind Taster und wie verhalten sich diese ?

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

          Hier die RAW von der Variable für gleichzeitige Anzeige / Bedienung.
          Meintest du das ? 😄

          {
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1563563853037,
            "common": {
              "name": "Taster_Büro_Altbau",
              "role": "",
              "type": "boolean",
              "desc": "Manuell erzeugt",
              "read": true,
              "write": true,
              "def": false
            },
            "native": {},
            "acl": {
              "object": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator",
              "state": 1636
            },
            "_id": "javascript.0.scriptEnabled.Taster.Taster_Büro_Altbau",
            "type": "state"
          }
          

          Vom Verhalten her ist sie TRUE beim drücken und FALSE beim loslassen

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

            @Daytona-Saar sagte:

               "_id": "javascript.0.scriptEnabled.Taster.Taster_Büro_Altbau",
            

            Ist das der Tasten-Datenpunkt oder heißt das Skript "Taster.Taster_Büro_Altbau" ? Dieser Datenpunkt ist im obigen Skript nicht enthalten.

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

              sorry... zwischenzeitlich umbenannt. Orientiere dich an den idCmd1 idStat1 und idVis

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

                @Daytona-Saar sagte:

                Orientiere dich an den idCmd1 idStat1 und idVis

                Und welcher davon ist Taster ?

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

                  Na, Taster_Kind 2 Licht Decke AB.
                  Also IdCmd

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

                    @Daytona-Saar
                    Der toggled das Licht ? Dann ändere Zeile 8 in

                    setState(idCmd1, true);
                    
                    1 Reply Last reply Reply Quote 0
                    • Tim1988
                      Tim1988 last edited by

                      Hi,
                      vielen Dank erst mal für die schnelle Antwort.
                      Habe das mal geändert.
                      Kann dann das Licht einmal einschalten und nie wieder aus.
                      Rückmeldung funktioniert dann auch nicht mehr.

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

                        @Daytona-Saar sagte:

                        Kann dann das Licht einmal einschalten und nie wieder aus.

                        Dann muss wohl der Taster auf false zurück gesetzt werden.

                        setState(idCmd1, true);
                        setStateDelayed(idCmd1, false, 100);
                        
                        1 Reply Last reply Reply Quote 0
                        • Tim1988
                          Tim1988 last edited by

                          Du bist mein Held 🙂 vielen vielen Dank für die Hilfe 😄
                          Licht an und aus schalten mit passender Rückmeldung funktioniert jetzt in allen möglichen Situationen.
                          Egal ob von Alexa, KNX-Taster im Raum oder Visualisierung!

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          817
                          Online

                          38.6k
                          Users

                          44.0k
                          Topics

                          615.7k
                          Posts

                          javascript
                          2
                          11
                          340
                          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-2021
                          logo