Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

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

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

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

Änderung mehrerer Schalter kombinieren

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
8 Beiträge 3 Kommentatoren 1.1k 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

                  Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                  Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                  Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                  Registrieren Anmelden
                  Antworten
                  • In einem neuen Thema antworten
                  Anmelden zum Antworten
                  • Älteste zuerst
                  • Neuste zuerst
                  • Meiste Stimmen


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  560

                  Online

                  32.8k

                  Benutzer

                  82.7k

                  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