Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Gelöst]Alias mit Script erstellen - Button

    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

    [Gelöst]Alias mit Script erstellen - Button

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @paul53 last edited by

      @paul53
      nur ein Beispiel...

      Screenshot_20210120-203711_Chrome.jpg

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

        @wszene sagte in Alias mit Script erstellen - Button funktionieren nicht:

        Hier mal das was das Log dazu sagt

        Die Warnung ist normal, wenn true auf einen Datenpunkt vom Typ "number" geschrieben wird.

        Ändere mal den Alias common (type, min raus, read und alias.write), damit er nach "boolean" wandelt:

          "common": {
            "name": "AV-Receiver - Leiser",
            "role": "button",
            "type": "boolean",
            "write": true,
            "read": false,
            "alias": {
              "id": "harmony.0.Fernbedienung.Bose-AV-Receiver.VolumeDown",
              "write": "val ? 1 : 0"
            },
            "desc": "per Script erstellt"
          },
        
        Wszene 1 Reply Last reply Reply Quote 0
        • Wszene
          Wszene @paul53 last edited by

          @paul53 sagte in Alias mit Script erstellen - Button funktionieren nicht:

          @wszene sagte: Ich kann mit den Alias z.B, Dein AV-Receiver lauter machen. Aber nur wenn ich direkt drauf drucke also im Browser direkt auf den Button

          Prüfe mal mit dem Test-Blockly wie sich der Datenpunkt "VolumeDown" verhält, wenn man den Button manuell (Tab Objekte) betätigt.

          Bild_2021-01-20_203053.png

          Hier die Ausgabe

          javascript.0	2021-01-20 20:42:53.243	info	(1070) script.js.Zum_Testen.Test-Skript: Leiser: 0 , ack: true
          harmony.0	2021-01-20 20:42:53.225	info	(1055) hub busy, stateChange delayed: harmony.0.Fernbedienung.Bose-AV-Receiver.VolumeUp = true
          
          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Wszene last edited by

            @wszene sagte: javascript.0 2021-01-20 20:42:53.243 info (1070) script.js.Zum_Testen.Test-Skript: Leiser: 0 , ack: true

            Da muss vorher noch ein Log mit ack: false kommen.

            1 Reply Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active @paul53 last edited by

              @paul53 sagte in Alias mit Script erstellen - Button funktionieren nicht:

              @dslraser sagte: Im Harmony Adapter sind die Button tatsächlich alle mit type number.
              Ist das eigentlich okay ?

              Nein

              ich habe mal ein issue angelegt

              https://github.com/Pmant/ioBroker.harmony/issues/68

              dslraser created this issue in Pmant/ioBroker.harmony

              open Button mit type number #68

              1 Reply Last reply Reply Quote 1
              • Wszene
                Wszene @paul53 last edited by

                @paul53 sagte in Alias mit Script erstellen - Button funktionieren nicht:

                @wszene sagte in Alias mit Script erstellen - Button funktionieren nicht:

                Hier mal das was das Log dazu sagt

                Die Warnung ist normal, wenn true auf einen Datenpunkt vom Typ "number" geschrieben wird.

                Ändere mal den Alias common (type, min raus, read und alias.write), damit er nach "boolean" wandelt:

                  "common": {
                    "name": "AV-Receiver - Leiser",
                    "role": "button",
                    "type": "boolean",
                    "write": true,
                    "read": false,
                    "alias": {
                      "id": "harmony.0.Fernbedienung.Bose-AV-Receiver.VolumeDown",
                      "write": "val ? 1 : 0"
                    },
                    "desc": "per Script erstellt"
                  },
                

                Mit der Änderung klappt es
                Gibt es eine Mäglichkeit diese auch direkt mit dem Script zu machen also beim erstellen des Alias?

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

                  @wszene sagte: Gibt es eine Mäglichkeit diese auch direkt mit dem Script zu machen also beim erstellen des Alias?

                  Ja, außer common.read = false. Hier der Anfang:

                  // Original-Datenpunkt
                  const idOrigin = 'sonoff.0.Lichtschalter-Stube.POWER1'; 
                  // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
                  // Bei Nicht-Verwendung Leerstring '' zuweisen
                  const idRead = '';
                   
                  // Alias-Datenpunkt
                  const idAlias = '01_Stube.01_Schalter.Schalter-Esstisch';
                   
                  var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                   
                  // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                  nameAlias = 'Schalter - Esstisch';
                  desc = 'per Script erstellt';
                  typeAlias = 'boolean'; // oder 'number'
                  // read = "val < 0 ? -val : 0"; // Erkennung "Aus" --> false erfolgt automatisch  
                  write = "val ? 1 : 0";
                  
                  Wszene 1 Reply Last reply Reply Quote 0
                  • Wszene
                    Wszene @paul53 last edited by

                    @paul53 sagte in Alias mit Script erstellen - Button funktionieren nicht:

                    common.read = false

                    Was macht dieses Kommando nur für mein Verständniss

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

                      @wszene sagte: nur für mein Verständniss

                      Das bedeutet "write only", hat aber keine Auswirkung auf die Button-Funktionalität.

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

                        @paul53
                        OK danke Dir
                        So funktioniert es
                        Da werde ich jetzt erstmal all meine Aliase die als Button sind neu anlegen

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        751
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        blockly communication javascript
                        3
                        21
                        681
                        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