Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Änderung mehrerer Schalter kombinieren

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Änderung mehrerer Schalter kombinieren

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
8 Beiträge 3 Kommentatoren 1.0k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    Seehofweg
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich möchte eine Funktion auslösen, wenn einer von zwei Schalter aktiviert wird. Allerdings habe ich ein Fehler im Skript, finde aber nichts im Internet…

    on({id: 'hm-rpc.1.000193C99D3D76.1.PRESS_SHORT' || 'hm-rpc.1.000193C99D3D6E.1.PRESS_SHORT'}, function (obj) {
    

    Funktioniert das grundsätzlich so?

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #2

      Hallo,

      das kannst du mit RegEx machen:

      
      on({
          id: /^hm-rpc\.1\.(000193C99D3D76|000193C99D3D6E)\.1\.PRESS_SHORT$/,
          val: true
      }, function (obj) {
      
      });
      
      

      oder in diesem Fall der fast identischen ID

      
      on({
          id: /^hm-rpc\.1\.000193C99D3D(76|6E)\.1\.PRESS_SHORT$/,
          val: true
      }, function (obj) {
      
      });
      
      

      Gruß

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        Seehofweg
        schrieb am zuletzt editiert von
        #3

        Hallo Pix,

        vielen lieben Dank! Läuft. Für mich als JavaScript-Anfänger immer wieder faszinierend, was es für Befehle/Möglichkeiten gibt. :D

        Ich arbeite gerade bei diesem Script an einer Alarmanlage und dachte mir, ich kann diesen Code hier für die Fenstersensoren nehmen…läuft aber nicht. :/

        Bei den IP Sensoren:

        on({
            id: /^hm-rpc\.1\.(0000D3C999A986|0000D569A0B124|0000D569A0B144|0000D569A0B164)\.1\.STATE$/,
            val: 1
            }, function (obj) 
        

        Bei den "normalen" Sensoren:

        on({
            id: /^hm-rpc\.0\.(MEQ0717364|MEQ1726689|MEQ1727185|NEQ0757939)\.1\.STATE$/,
            val: true
            }, function (obj) {
        

        Wenn ich etwas öffne, kommt im Protokoll folgendes:

        > javascript.0 script.js.Automatisierungen.Alarmanlage: [object Object]

        Viele Grüße

        Tobi

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @Seehofweg:

          Wenn ich etwas öffne, kommt im Protokoll folgendes:

          javascript.0 script.js.Automatisierungen.Alarmanlage: [object Object] `
          Das sieht nach einer Log-Ausgabe aus. Wie sieht der Log-Befehl aus ?

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            Seehofweg
            schrieb am zuletzt editiert von
            #5

            Mein gesamtes Angänger-Script :roll: sieht so aus…bzw. der relevante Teil

            on({
                id: /^hm-rpc\.0\.(LEQ0172329|LEQ0500217|MEQ0717167|MEQ0717275|MEQ0717199|MEQ0717665|MEQ0717821|MEQ1726821)\.1\.STATE$/,
                val: true
                }, function (obj) {
            
                    var anwesenheit = getState ('javascript.0.alarmanlage.anwesenheit');
                    log(anwesenheit);
            
                        if(anwesenheit === 'anwesend-aus' || anwesenheit === 'abwesend-aus')
                            //keine Aktion erforderlich
            
                        if(anwesenheit === 'anwesend-ein' || anwesenheit === 'abwesend-ein')
                            setState("sayit.0.tts.text", "Fenster Untergeschoss wurde geöffnet");
            });
            
            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @Seehofweg:

              Funktioniert das grundsätzlich so? `
              Nein, aber mit einem http://forum.iobroker.net/viewtopic.php?f=21&t=2407&p=110805#p108006.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @Seehofweg:

                        var anwesenheit = getState ('javascript.0.alarmanlage.anwesenheit');
                        log(anwesenheit);
                ```` `  
                

                –>

                        var anwesenheit = getState ('javascript.0.alarmanlage.anwesenheit').val;
                        log(anwesenheit);
                

                Du machst anschließend einen Stringvergleich, was bedeutet der Datenpunkt ist vom Typ "string" ?

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  Seehofweg
                  schrieb am zuletzt editiert von
                  #8

                  @paul53:

                  @Seehofweg:

                  Funktioniert das grundsätzlich so? Nein, aber mit einem [http://forum.iobroker.net/viewtopic.php?f=21&t=2407&p=110805#p108006](http://forum.iobroker.net/viewtopic.php?f=21&t=2407&p=110805#p108006).

                  Hi! Sorry für die späte Rückmeldung. Unser zweites Kind kam dazwischen. :D

                  Ich habe es entsprechend umgesetzt, erhalte aber leider keine Funktion…

                  var idTasterEG = ["hm-rpc.0.MEQ0717364.1.STATE", "hm-rpc.0.MEQ1726689.1.STATE", "hm-rpc.0.MEQ1727185.1.STATE", "hm-rpc.0.NEQ0757939.1.STATE"];
                  
                  on({id: idTasterEG, val: true}, function(){
                  

                  –-------------------------------------------------------------

                  > Du machst anschließend einen Stringvergleich, was bedeutet der Datenpunkt ist vom Typ "string" ?

                  Was meinst du mit "Stringvergleich"? Ich habe die Variable "javascript.0.alarmanlage.anwesenheit" angelegt, hierunter sind die Stati meiner Alarmanalge hinterlegt (z. B. "anwesend-ein"). Diese rufe ich ja ab, schreibe diese in die Programmvariable und lasse mir den aktuellen Status ausgeben…

                  Viele Grüße

                  1 Antwort Letzte Antwort
                  0
                  Antworten
                  • In einem neuen Thema antworten
                  Anmelden zum Antworten
                  • Älteste zuerst
                  • Neuste zuerst
                  • Meiste Stimmen


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  577

                  Online

                  32.6k

                  Benutzer

                  82.2k

                  Themen

                  1.3m

                  Beiträge
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2025
                  logo
                  • Anmelden

                  • Du hast noch kein Konto? Registrieren

                  • Anmelden oder registrieren, um zu suchen
                  • Erster Beitrag
                    Letzter Beitrag
                  0
                  • Home
                  • Aktuell
                  • Tags
                  • Ungelesen 0
                  • Kategorien
                  • Unreplied
                  • Beliebt
                  • GitHub
                  • Docu
                  • Hilfe