Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Mehrfachauslösung von Schalter: wo kommt's her?

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    782

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Mehrfachauslösung von Schalter: wo kommt's her?

Scheduled Pinned Locked Moved ioBroker Allgemein
zigbeetriggermehrfachdoppeltblocklyjavascriptexec
9 Posts 3 Posters 632 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    IobNordlicht
    wrote on last edited by
    #1

    Hi zusammen,

    ich hab hier einen vierfach Schalter mittels Zigbee, der an sich gut funktioniert.
    44322f27-e4cd-40bc-b024-925f01e0ac33-image.png
    Diesen möchte ich nutzen, um bestimmte MP3s lokal abzuspielen, um nicht mehr in's OG
    brüllen zu müssen 😁

    Leider löst aber irgendetwas mehrfach aus. Ich vermute, dass daher die Audioausgabe nicht geht?
    Außerdem bekomme ich vom Shellcommando den Output vermittels Variable result nicht geliefert, warum auch immer?

    Im folgenden Log habe ich Knopf#1 und #2 je einmal und dann doppelt gedrückt. Wie man sieht, wird es aber alles doppelt ausgelöst:

    2024-01-25 14:59:42.792  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-alida.mp3
    2024-01-25 14:59:42.823  - warn: javascript.0 (101442) script.js.common.Schalter:
    2024-01-25 14:59:42.792  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-alida.mp3
    2024-01-25 14:59:42.823  - warn: javascript.0 (101442) script.js.common.Schalter:
    2024-01-25 14:59:45.084  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-alida.mp3
    2024-01-25 14:59:45.120  - warn: javascript.0 (101442) script.js.common.Schalter:
    2024-01-25 14:59:45.084  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-alida.mp3
    2024-01-25 14:59:45.120  - warn: javascript.0 (101442) script.js.common.Schalter:
    2024-01-25 14:59:47.204  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-mj.mp3
    2024-01-25 14:59:47.244  - warn: javascript.0 (101442) script.js.common.Schalter:
    2024-01-25 14:59:47.204  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-mj.mp3
    2024-01-25 14:59:47.244  - warn: javascript.0 (101442) script.js.common.Schalter:
    2024-01-25 14:59:50.407  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-mj.mp3
    2024-01-25 14:59:50.451  - warn: javascript.0 (101442) script.js.common.Schalter:
    2024-01-25 14:59:50.407  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-mj.mp3
    2024-01-25 14:59:50.451  - warn: javascript.0 (101442) script.js.common.Schalter:
    

    Nach einiger Recherche habe ich ein paar Fehlerquellen ausgemerzt:

    • send_payload am Objekt ist "true"
    • Ich "höre" auf "true"

    Folgend das javascript aus blockly. Bitte nicht am überflüssigen "if" in Zeile 7 aufhalten, das ist nur der Optik im blockly halber:

    var arLinks, iIndex, sUrl, result;
    
    arLinks = ['nice-alida', 'nice-mj', 'nice-mama', 'nice-papa', 'ang-alida', 'ang-mj', 'einkaufen', 'fahren', 'essen', 'schlafen', 'gehen', 'maedels'];
    
    on({ id: [].concat(['alias.0.4fach_#1.1_single']).concat(['alias.0.4fach_#1.1_double']).concat(['alias.0.4fach_#1.1_hold']).concat(['alias.0.4fach_#1.2_single']).concat(['alias.0.4fach_#1.2_double']).concat(['alias.0.4fach_#1.2_hold']).concat(['alias.0.4fach_#1.3_single']).concat(['alias.0.4fach_#1.3_double']).concat(['alias.0.4fach_#1.3_hold']).concat(['alias.0.4fach_#1.4_single']).concat(['alias.0.4fach_#1.4_double']).concat(['alias.0.4fach_#1.4_hold']), val: true }, async (obj) => {
      iIndex = 0;
      if (true) {
        switch (true) {
          case (obj.common ? obj.common.name : "") == '1_single': iIndex = 1;break;
          case (obj.common ? obj.common.name : "") == '2_single': iIndex = 2;break;
          case (obj.common ? obj.common.name : "") == '3_single': iIndex = 3;break;
          case (obj.common ? obj.common.name : "") == '4_single': iIndex = 4;break;
          case (obj.common ? obj.common.name : "") == '1_double': iIndex = 5;break;
          case (obj.common ? obj.common.name : "") == '2_double': iIndex = 6;break;
          case (obj.common ? obj.common.name : "") == '3_double': iIndex = 7;break;
          case (obj.common ? obj.common.name : "") == '4_double': iIndex = 8;break;
          case (obj.common ? obj.common.name : "") == '1_hold': iIndex = 9;break;
          case (obj.common ? obj.common.name : "") == '2_hold': iIndex = 10;break;
          case (obj.common ? obj.common.name : "") == '3_hold': iIndex = 11;break;
          case (obj.common ? obj.common.name : "") == '4_hold': iIndex = 12;break;
        }
      }
      sUrl = ['/usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/',arLinks[(iIndex - 1)],'.mp3'].join('');
      exec(sUrl, async (error, result, stderr) => {
        console.warn(result);
      });
      console.warn("exec: " + sUrl);
    });
    

    b8066b10-7573-455a-a81c-42036e6436af-image.png

    Das ganze Thema Payload verstehe ich noch nicht, was ist das? Ein Rückgabewert bei Klick?

    Neugierige Grüße
    nordlicht

    CodierknechtC I 2 Replies Last reply
    0
    • I IobNordlicht

      Hi zusammen,

      ich hab hier einen vierfach Schalter mittels Zigbee, der an sich gut funktioniert.
      44322f27-e4cd-40bc-b024-925f01e0ac33-image.png
      Diesen möchte ich nutzen, um bestimmte MP3s lokal abzuspielen, um nicht mehr in's OG
      brüllen zu müssen 😁

      Leider löst aber irgendetwas mehrfach aus. Ich vermute, dass daher die Audioausgabe nicht geht?
      Außerdem bekomme ich vom Shellcommando den Output vermittels Variable result nicht geliefert, warum auch immer?

      Im folgenden Log habe ich Knopf#1 und #2 je einmal und dann doppelt gedrückt. Wie man sieht, wird es aber alles doppelt ausgelöst:

      2024-01-25 14:59:42.792  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-alida.mp3
      2024-01-25 14:59:42.823  - warn: javascript.0 (101442) script.js.common.Schalter:
      2024-01-25 14:59:42.792  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-alida.mp3
      2024-01-25 14:59:42.823  - warn: javascript.0 (101442) script.js.common.Schalter:
      2024-01-25 14:59:45.084  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-alida.mp3
      2024-01-25 14:59:45.120  - warn: javascript.0 (101442) script.js.common.Schalter:
      2024-01-25 14:59:45.084  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-alida.mp3
      2024-01-25 14:59:45.120  - warn: javascript.0 (101442) script.js.common.Schalter:
      2024-01-25 14:59:47.204  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-mj.mp3
      2024-01-25 14:59:47.244  - warn: javascript.0 (101442) script.js.common.Schalter:
      2024-01-25 14:59:47.204  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-mj.mp3
      2024-01-25 14:59:47.244  - warn: javascript.0 (101442) script.js.common.Schalter:
      2024-01-25 14:59:50.407  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-mj.mp3
      2024-01-25 14:59:50.451  - warn: javascript.0 (101442) script.js.common.Schalter:
      2024-01-25 14:59:50.407  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-mj.mp3
      2024-01-25 14:59:50.451  - warn: javascript.0 (101442) script.js.common.Schalter:
      

      Nach einiger Recherche habe ich ein paar Fehlerquellen ausgemerzt:

      • send_payload am Objekt ist "true"
      • Ich "höre" auf "true"

      Folgend das javascript aus blockly. Bitte nicht am überflüssigen "if" in Zeile 7 aufhalten, das ist nur der Optik im blockly halber:

      var arLinks, iIndex, sUrl, result;
      
      arLinks = ['nice-alida', 'nice-mj', 'nice-mama', 'nice-papa', 'ang-alida', 'ang-mj', 'einkaufen', 'fahren', 'essen', 'schlafen', 'gehen', 'maedels'];
      
      on({ id: [].concat(['alias.0.4fach_#1.1_single']).concat(['alias.0.4fach_#1.1_double']).concat(['alias.0.4fach_#1.1_hold']).concat(['alias.0.4fach_#1.2_single']).concat(['alias.0.4fach_#1.2_double']).concat(['alias.0.4fach_#1.2_hold']).concat(['alias.0.4fach_#1.3_single']).concat(['alias.0.4fach_#1.3_double']).concat(['alias.0.4fach_#1.3_hold']).concat(['alias.0.4fach_#1.4_single']).concat(['alias.0.4fach_#1.4_double']).concat(['alias.0.4fach_#1.4_hold']), val: true }, async (obj) => {
        iIndex = 0;
        if (true) {
          switch (true) {
            case (obj.common ? obj.common.name : "") == '1_single': iIndex = 1;break;
            case (obj.common ? obj.common.name : "") == '2_single': iIndex = 2;break;
            case (obj.common ? obj.common.name : "") == '3_single': iIndex = 3;break;
            case (obj.common ? obj.common.name : "") == '4_single': iIndex = 4;break;
            case (obj.common ? obj.common.name : "") == '1_double': iIndex = 5;break;
            case (obj.common ? obj.common.name : "") == '2_double': iIndex = 6;break;
            case (obj.common ? obj.common.name : "") == '3_double': iIndex = 7;break;
            case (obj.common ? obj.common.name : "") == '4_double': iIndex = 8;break;
            case (obj.common ? obj.common.name : "") == '1_hold': iIndex = 9;break;
            case (obj.common ? obj.common.name : "") == '2_hold': iIndex = 10;break;
            case (obj.common ? obj.common.name : "") == '3_hold': iIndex = 11;break;
            case (obj.common ? obj.common.name : "") == '4_hold': iIndex = 12;break;
          }
        }
        sUrl = ['/usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/',arLinks[(iIndex - 1)],'.mp3'].join('');
        exec(sUrl, async (error, result, stderr) => {
          console.warn(result);
        });
        console.warn("exec: " + sUrl);
      });
      

      b8066b10-7573-455a-a81c-42036e6436af-image.png

      Das ganze Thema Payload verstehe ich noch nicht, was ist das? Ein Rückgabewert bei Klick?

      Neugierige Grüße
      nordlicht

      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      wrote on last edited by Codierknecht
      #2

      @iobnordlicht
      Super - den interessanten Teil hast Du weggeschnitten.

      Was soll ein switch(true) machen?
      true ist und bleibt true - da switcht nix.

      Kann man zwar auch so einsetzen, liest sich aber kacke.

      Versuch's mal so:

      308f90c6-fe22-4b49-b594-efd4894a7c45-image.png

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      I 1 Reply Last reply
      0
      • CodierknechtC Codierknecht

        @iobnordlicht
        Super - den interessanten Teil hast Du weggeschnitten.

        Was soll ein switch(true) machen?
        true ist und bleibt true - da switcht nix.

        Kann man zwar auch so einsetzen, liest sich aber kacke.

        Versuch's mal so:

        308f90c6-fe22-4b49-b594-efd4894a7c45-image.png

        I Offline
        I Offline
        IobNordlicht
        wrote on last edited by
        #3

        @codierknecht sagte in Mehrfachauslösung von Schalter: wo kommt's her?:

        @iobnordlicht
        Super - den interessanten Teil hast Du weggeschnitten.

        Was soll ein switch(true) machen?
        true ist und bleibt true - da switcht nix.

        Kann man zwar auch so einsetzen, liest sich aber kacke.

        Versuch's mal so:

        308f90c6-fe22-4b49-b594-efd4894a7c45-image.png

        Stimmt, das habe ich zu kompliziert gedacht. Sollte aber trotzdem gehen, oder nicht?
        Ich teste das gleich mal morgen und mach es clean...

        1 Reply Last reply
        0
        • I IobNordlicht

          Hi zusammen,

          ich hab hier einen vierfach Schalter mittels Zigbee, der an sich gut funktioniert.
          44322f27-e4cd-40bc-b024-925f01e0ac33-image.png
          Diesen möchte ich nutzen, um bestimmte MP3s lokal abzuspielen, um nicht mehr in's OG
          brüllen zu müssen 😁

          Leider löst aber irgendetwas mehrfach aus. Ich vermute, dass daher die Audioausgabe nicht geht?
          Außerdem bekomme ich vom Shellcommando den Output vermittels Variable result nicht geliefert, warum auch immer?

          Im folgenden Log habe ich Knopf#1 und #2 je einmal und dann doppelt gedrückt. Wie man sieht, wird es aber alles doppelt ausgelöst:

          2024-01-25 14:59:42.792  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-alida.mp3
          2024-01-25 14:59:42.823  - warn: javascript.0 (101442) script.js.common.Schalter:
          2024-01-25 14:59:42.792  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-alida.mp3
          2024-01-25 14:59:42.823  - warn: javascript.0 (101442) script.js.common.Schalter:
          2024-01-25 14:59:45.084  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-alida.mp3
          2024-01-25 14:59:45.120  - warn: javascript.0 (101442) script.js.common.Schalter:
          2024-01-25 14:59:45.084  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-alida.mp3
          2024-01-25 14:59:45.120  - warn: javascript.0 (101442) script.js.common.Schalter:
          2024-01-25 14:59:47.204  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-mj.mp3
          2024-01-25 14:59:47.244  - warn: javascript.0 (101442) script.js.common.Schalter:
          2024-01-25 14:59:47.204  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/nice-mj.mp3
          2024-01-25 14:59:47.244  - warn: javascript.0 (101442) script.js.common.Schalter:
          2024-01-25 14:59:50.407  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-mj.mp3
          2024-01-25 14:59:50.451  - warn: javascript.0 (101442) script.js.common.Schalter:
          2024-01-25 14:59:50.407  - info: javascript.0 (101442) script.js.common.Schalter: exec: /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-mj.mp3
          2024-01-25 14:59:50.451  - warn: javascript.0 (101442) script.js.common.Schalter:
          

          Nach einiger Recherche habe ich ein paar Fehlerquellen ausgemerzt:

          • send_payload am Objekt ist "true"
          • Ich "höre" auf "true"

          Folgend das javascript aus blockly. Bitte nicht am überflüssigen "if" in Zeile 7 aufhalten, das ist nur der Optik im blockly halber:

          var arLinks, iIndex, sUrl, result;
          
          arLinks = ['nice-alida', 'nice-mj', 'nice-mama', 'nice-papa', 'ang-alida', 'ang-mj', 'einkaufen', 'fahren', 'essen', 'schlafen', 'gehen', 'maedels'];
          
          on({ id: [].concat(['alias.0.4fach_#1.1_single']).concat(['alias.0.4fach_#1.1_double']).concat(['alias.0.4fach_#1.1_hold']).concat(['alias.0.4fach_#1.2_single']).concat(['alias.0.4fach_#1.2_double']).concat(['alias.0.4fach_#1.2_hold']).concat(['alias.0.4fach_#1.3_single']).concat(['alias.0.4fach_#1.3_double']).concat(['alias.0.4fach_#1.3_hold']).concat(['alias.0.4fach_#1.4_single']).concat(['alias.0.4fach_#1.4_double']).concat(['alias.0.4fach_#1.4_hold']), val: true }, async (obj) => {
            iIndex = 0;
            if (true) {
              switch (true) {
                case (obj.common ? obj.common.name : "") == '1_single': iIndex = 1;break;
                case (obj.common ? obj.common.name : "") == '2_single': iIndex = 2;break;
                case (obj.common ? obj.common.name : "") == '3_single': iIndex = 3;break;
                case (obj.common ? obj.common.name : "") == '4_single': iIndex = 4;break;
                case (obj.common ? obj.common.name : "") == '1_double': iIndex = 5;break;
                case (obj.common ? obj.common.name : "") == '2_double': iIndex = 6;break;
                case (obj.common ? obj.common.name : "") == '3_double': iIndex = 7;break;
                case (obj.common ? obj.common.name : "") == '4_double': iIndex = 8;break;
                case (obj.common ? obj.common.name : "") == '1_hold': iIndex = 9;break;
                case (obj.common ? obj.common.name : "") == '2_hold': iIndex = 10;break;
                case (obj.common ? obj.common.name : "") == '3_hold': iIndex = 11;break;
                case (obj.common ? obj.common.name : "") == '4_hold': iIndex = 12;break;
              }
            }
            sUrl = ['/usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/',arLinks[(iIndex - 1)],'.mp3'].join('');
            exec(sUrl, async (error, result, stderr) => {
              console.warn(result);
            });
            console.warn("exec: " + sUrl);
          });
          

          b8066b10-7573-455a-a81c-42036e6436af-image.png

          Das ganze Thema Payload verstehe ich noch nicht, was ist das? Ein Rückgabewert bei Klick?

          Neugierige Grüße
          nordlicht

          I Offline
          I Offline
          IobNordlicht
          wrote on last edited by
          #4

          Wie zu erwarten, die Verzweigungslogik war umständlich, aber funktionierte ja bereits.
          Interessanterweise ist dadurch aber trotzdem mein erstes Problem gelöst, keine Doppelauslösung, warum auch immer...

          Also zurück zu den weiteren Fragen:

          @iobnordlicht sagte in Mehrfachauslösung von Schalter: wo kommt's her?:

          Außerdem bekomme ich vom Shellcommando den Output vermittels Variable result nicht geliefert, warum auch immer?
          [..]
          Das ganze Thema Payload verstehe ich noch nicht, was ist das? Ein Rückgabewert bei Klick?

          Könnt ihr mir hier bittte weiterhelfen?

          CodierknechtC 1 Reply Last reply
          0
          • I IobNordlicht

            Wie zu erwarten, die Verzweigungslogik war umständlich, aber funktionierte ja bereits.
            Interessanterweise ist dadurch aber trotzdem mein erstes Problem gelöst, keine Doppelauslösung, warum auch immer...

            Also zurück zu den weiteren Fragen:

            @iobnordlicht sagte in Mehrfachauslösung von Schalter: wo kommt's her?:

            Außerdem bekomme ich vom Shellcommando den Output vermittels Variable result nicht geliefert, warum auch immer?
            [..]
            Das ganze Thema Payload verstehe ich noch nicht, was ist das? Ein Rückgabewert bei Klick?

            Könnt ihr mir hier bittte weiterhelfen?

            CodierknechtC Online
            CodierknechtC Online
            Codierknecht
            Developer Most Active
            wrote on last edited by
            #5

            @iobnordlicht sagte in Mehrfachauslösung von Schalter: wo kommt's her?:

            Das ganze Thema Payload verstehe ich noch nicht, was ist das? Ein Rückgabewert bei Klick?

            Das kommt auf das jeweilige Gerät an.
            Das kann etwas sein was das Gerät Dir mitteilen will oder auch etwas, was an das Gerät gesendet wird.
            Oft als JSON. Wie das dann genau aufzubauen ist, ist von Gerät zu Gerät unterschiedlich.

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            I 1 Reply Last reply
            0
            • CodierknechtC Codierknecht

              @iobnordlicht sagte in Mehrfachauslösung von Schalter: wo kommt's her?:

              Das ganze Thema Payload verstehe ich noch nicht, was ist das? Ein Rückgabewert bei Klick?

              Das kommt auf das jeweilige Gerät an.
              Das kann etwas sein was das Gerät Dir mitteilen will oder auch etwas, was an das Gerät gesendet wird.
              Oft als JSON. Wie das dann genau aufzubauen ist, ist von Gerät zu Gerät unterschiedlich.

              I Offline
              I Offline
              IobNordlicht
              wrote on last edited by
              #6

              Ok, also doch nicht so einfach 😄

              Verbleibt noch das eigentliche Problem:
              Warum löst das Kommando nicht aus und warum bekomme ich kein Output von der Ausführung, bzw. einen Fehler?

              AsgothianA 1 Reply Last reply
              0
              • I IobNordlicht

                Ok, also doch nicht so einfach 😄

                Verbleibt noch das eigentliche Problem:
                Warum löst das Kommando nicht aus und warum bekomme ich kein Output von der Ausführung, bzw. einen Fehler?

                AsgothianA Offline
                AsgothianA Offline
                Asgothian
                Developer
                wrote on last edited by Asgothian
                #7

                @iobnordlicht sagte in Mehrfachauslösung von Schalter: wo kommt's her?:

                Verbleibt noch das eigentliche Problem:
                Warum löst das Kommando nicht aus und warum bekomme ich kein Output von der Ausführung, bzw. einen Fehler?

                Hast du mal geschaut ob am Zigbee Adapter (davon ist anscheinend die Kachel in deinem 1. Post) eine Reaktion kommt, so das der Trigger überhaupt aktiv wird ?

                Das mit dem Payload wird nur erklärbar wenn du mal mehr dazu zeigst.

                A.

                Nachtrag: Du lässt dir nur den "result" ausgeben. ggf. hat der Befehl aber gar keine text-ausgebe als result, oder bringt sogar einen Fehler ?

                Was passiert wenn du z.Bsp. /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-mj.mp3 in der Konsole des ioBroker Rechners ausführst ?

                Ansonsten solltest du ggf. auch die variable error und stderr mal mit loggen.

                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                I 1 Reply Last reply
                0
                • AsgothianA Asgothian

                  @iobnordlicht sagte in Mehrfachauslösung von Schalter: wo kommt's her?:

                  Verbleibt noch das eigentliche Problem:
                  Warum löst das Kommando nicht aus und warum bekomme ich kein Output von der Ausführung, bzw. einen Fehler?

                  Hast du mal geschaut ob am Zigbee Adapter (davon ist anscheinend die Kachel in deinem 1. Post) eine Reaktion kommt, so das der Trigger überhaupt aktiv wird ?

                  Das mit dem Payload wird nur erklärbar wenn du mal mehr dazu zeigst.

                  A.

                  Nachtrag: Du lässt dir nur den "result" ausgeben. ggf. hat der Befehl aber gar keine text-ausgebe als result, oder bringt sogar einen Fehler ?

                  Was passiert wenn du z.Bsp. /usr/bin/mpg321 http://iobroker:8082/vis.0/FR/Audio/ang-mj.mp3 in der Konsole des ioBroker Rechners ausführst ?

                  Ansonsten solltest du ggf. auch die variable error und stderr mal mit loggen.

                  I Offline
                  I Offline
                  IobNordlicht
                  wrote on last edited by
                  #8

                  @asgothian
                  Danke dir, bin jetzt heute noch mal sehr viel weiter gekommen:

                  Ich habe nun mplayer verwendet, um mehr Ausgaben zu provozieren. ICh kann nun sehen, dass der Befehl aufgerufen wird, jedoch scheitert er, weil angeblich das Ausgabegerät belegt sei:

                  CommandLine: '-vo' 'null' '-v' '/opt/iobroker/vis.0/FR/Audio/gehen.mp3'
                  
                  Playing /opt/iobroker/vis.0/FR/Audio/gehen.mp3. get_path('sub/') -> '/opt/iobroker/.mplayer/sub/' [file] File size is 45292 bytes 
                  
                  STREAM: [file] /opt/iobroker/vis.0/FR/Audio/gehen.mp3
                  STREAM: Description: File
                  STREAM: Author: Albeu
                  libavformat version 58.76.100 (external)
                  Trying demuxer 17 based on filename extension ==> Found audio stream: 0 demux_audio: seeking from 0xB0E6 to start pos 0xAC demux_audio: audio data 0xAC - 0xB0EC Audio only file format detected.
                  Load subtitles in /opt/iobroker/vis.0/FR/Audio/ get_path('sub/') -> '/opt/iobroker/.mplayer/sub/'
                  ==========================================================================
                  Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III dec_audio: Allocating 8192 + 131072 = 139264 bytes for output buffer. MPEG 1.0 layer III, VBR, 48000 Hz joint-stereo AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000) Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III) ==========================================================================
                  Building audio filter chain for 48000Hz/2ch/s16le -> 0Hz/0ch/??... 
                  [libaf] Adding filter dummy 
                  [dummy] Was reinitialized: 48000Hz/2ch/s16le 
                  [dummy] Was reinitialized: 48000Hz/2ch/s16le 
                  Trying preferred audio driver 'pulse', options '[none]'
                  Trying preferred audio driver 'alsa', options '[none]'
                    alsa-init: requested format: 48000 Hz, 2 channels, 9
                    alsa-init: using ALSA 1.2.6.1 
                    alsa-init: setup for 1/2 channel(s) 
                    alsa-init: using device default 
                    alsa-init: opening device in blocking mode 
                  Trying preferred audio driver 'sdl', options 'aalib' 
                    [AO SDL] Samplerate: 48000Hz Channels: Stereo Format s16le 
                    [AO SDL] using aalib audio driver. Uninit audio filters... 
                  [libaf] Removing filter dummy Uninit 
                  audio: mpg123 
                  Audio: no sound Freeing 0 unused audio chunks. 
                  Video: no video Freeing 0 unused video chunks. 
                  vo: x11 uninit called but X11 not initialized.. Exiting... (End of file) 
                  
                  stderr=
                    do_connect: could not connect to socket 
                    connect: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. 
                    AO: 
                    [pulse] Init failed: Connection refused Failed to initialize audio driver 'pulse' 
                    [AO_ALSA] alsa-lib: pcm_hw.c:1716:(snd_pcm_hw_open) open '/dev/snd/pcmC0D0p' failed (-16): Device or resource busy 
                    [AO_ALSA] alsa-lib: pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave 
                    [AO_ALSA] Playback open error: Device or resource busy Failed to initialize audio driver 'alsa' 
                    [AO SDL] Unable to open audio: No available audio device Failed to initialize audio driver 'sdl:aalib' Could not open/initialize audio device -> no sound.
                  

                  Lustig ist, dass ich als eingeloggter User iobroker überhaupt keine Schwierigkeiten mit exakt dem gleichen Befehl habe?

                  Der User und die Gruppen passt auch:
                  aa8d7204-a2c7-4b99-b808-185c67e086cd-image.png

                  Und bitte geflissentlich jetztet die Gruppe sudo ignorieren, hat wohlüberlegte debugging Gründe, wie z.B. genau jetzt.

                  Warum gibt es einen Unterschied zwischen der Ausführung in exec und lokaler user shell? Beide laufen unter dem gleichen User, den gleichen Gruppen...

                  I 1 Reply Last reply
                  0
                  • I IobNordlicht

                    @asgothian
                    Danke dir, bin jetzt heute noch mal sehr viel weiter gekommen:

                    Ich habe nun mplayer verwendet, um mehr Ausgaben zu provozieren. ICh kann nun sehen, dass der Befehl aufgerufen wird, jedoch scheitert er, weil angeblich das Ausgabegerät belegt sei:

                    CommandLine: '-vo' 'null' '-v' '/opt/iobroker/vis.0/FR/Audio/gehen.mp3'
                    
                    Playing /opt/iobroker/vis.0/FR/Audio/gehen.mp3. get_path('sub/') -> '/opt/iobroker/.mplayer/sub/' [file] File size is 45292 bytes 
                    
                    STREAM: [file] /opt/iobroker/vis.0/FR/Audio/gehen.mp3
                    STREAM: Description: File
                    STREAM: Author: Albeu
                    libavformat version 58.76.100 (external)
                    Trying demuxer 17 based on filename extension ==> Found audio stream: 0 demux_audio: seeking from 0xB0E6 to start pos 0xAC demux_audio: audio data 0xAC - 0xB0EC Audio only file format detected.
                    Load subtitles in /opt/iobroker/vis.0/FR/Audio/ get_path('sub/') -> '/opt/iobroker/.mplayer/sub/'
                    ==========================================================================
                    Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III dec_audio: Allocating 8192 + 131072 = 139264 bytes for output buffer. MPEG 1.0 layer III, VBR, 48000 Hz joint-stereo AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000) Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III) ==========================================================================
                    Building audio filter chain for 48000Hz/2ch/s16le -> 0Hz/0ch/??... 
                    [libaf] Adding filter dummy 
                    [dummy] Was reinitialized: 48000Hz/2ch/s16le 
                    [dummy] Was reinitialized: 48000Hz/2ch/s16le 
                    Trying preferred audio driver 'pulse', options '[none]'
                    Trying preferred audio driver 'alsa', options '[none]'
                      alsa-init: requested format: 48000 Hz, 2 channels, 9
                      alsa-init: using ALSA 1.2.6.1 
                      alsa-init: setup for 1/2 channel(s) 
                      alsa-init: using device default 
                      alsa-init: opening device in blocking mode 
                    Trying preferred audio driver 'sdl', options 'aalib' 
                      [AO SDL] Samplerate: 48000Hz Channels: Stereo Format s16le 
                      [AO SDL] using aalib audio driver. Uninit audio filters... 
                    [libaf] Removing filter dummy Uninit 
                    audio: mpg123 
                    Audio: no sound Freeing 0 unused audio chunks. 
                    Video: no video Freeing 0 unused video chunks. 
                    vo: x11 uninit called but X11 not initialized.. Exiting... (End of file) 
                    
                    stderr=
                      do_connect: could not connect to socket 
                      connect: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. 
                      AO: 
                      [pulse] Init failed: Connection refused Failed to initialize audio driver 'pulse' 
                      [AO_ALSA] alsa-lib: pcm_hw.c:1716:(snd_pcm_hw_open) open '/dev/snd/pcmC0D0p' failed (-16): Device or resource busy 
                      [AO_ALSA] alsa-lib: pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave 
                      [AO_ALSA] Playback open error: Device or resource busy Failed to initialize audio driver 'alsa' 
                      [AO SDL] Unable to open audio: No available audio device Failed to initialize audio driver 'sdl:aalib' Could not open/initialize audio device -> no sound.
                    

                    Lustig ist, dass ich als eingeloggter User iobroker überhaupt keine Schwierigkeiten mit exakt dem gleichen Befehl habe?

                    Der User und die Gruppen passt auch:
                    aa8d7204-a2c7-4b99-b808-185c67e086cd-image.png

                    Und bitte geflissentlich jetztet die Gruppe sudo ignorieren, hat wohlüberlegte debugging Gründe, wie z.B. genau jetzt.

                    Warum gibt es einen Unterschied zwischen der Ausführung in exec und lokaler user shell? Beide laufen unter dem gleichen User, den gleichen Gruppen...

                    I Offline
                    I Offline
                    IobNordlicht
                    wrote on last edited by
                    #9

                    ..und wieder etwas gelernt, irgendwie kommen sich ALSA und Pulseaudio server in die Quere... Ok, ich denke, damit ist es zwar nicht gelöst, aber das Thema des Threads passt nimmer.

                    1 Reply Last reply
                    0

                    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                    With your input, this post could be even better 💗

                    Register Login
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Support us

                    ioBroker
                    Community Adapters
                    Donate
                    FAQ Cloud / IOT
                    HowTo: Node.js-Update
                    HowTo: Backup/Restore
                    Downloads
                    BLOG

                    410

                    Online

                    32.8k

                    Users

                    82.7k

                    Topics

                    1.3m

                    Posts
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Home
                    • Recent
                    • Tags
                    • Unread 0
                    • Categories
                    • Unreplied
                    • Popular
                    • GitHub
                    • Docu
                    • Hilfe