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. Visualisierung
  4. Wie mit vis Button ein Event in einem Adapter auslösen?

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    15
    1
    445

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

Wie mit vis Button ein Event in einem Adapter auslösen?

Geplant Angeheftet Gesperrt Verschoben Visualisierung
6 Beiträge 4 Kommentatoren 2.5k 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
    stefan0875
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen

    nach längerem mitlesen hier im Forum hab ich mich nun doch mal angemeldet und komme auch gleich mit der ersten Frage :-)

    Ich habe einen Adapter geschrieben der mir Werte aus einer externen Quelle zur Verfügung stellt.

    Ich würde jetzt gerne beim Druck eines Buttons auf einer vis Oberfläche, Code in meinem Adapter ausführen.

    Also quasi einen Eventhandler im Adapter triggern.

    Was wäre hier der richtige Weg das zu realisieren?

    Danke für eure Hilfe

    Gruß

    Stefan

    1 Antwort Letzte Antwort
    0
    • Jeeper.atJ Offline
      Jeeper.atJ Offline
      Jeeper.at
      schrieb am zuletzt editiert von
      #2

      Hallo,

      du generierst einen Datenpunkt.

      Auf diesen horcht dein Script.

      Dieser Datenpunkt kann mit vielen verschiedenen Widgets aus VIS ändern.

      Lg

      Günther

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

        Hallo Stefan,

        willkommen im Forum. Und dann gleich im ersten Post einen Adapter-Ankündigung, super!

        Du kannst natürlich auch im Adapter einen State anlegen und den überwachen. Nennen wir in "trigger".

        adaptername.0.trigger
        

        Dann kannst du den mitadapter.on("adaptername.0.trigger")natürlich auch überwachen. Wenn die Änderungen nur aus VIS erwünscht sind, kannst die Überwachung mit````
        "from: system.adapter.web.0"

        
        [https://github.com/ioBroker/ioBroker/wi … ant-events](https://github.com/ioBroker/ioBroker/wiki/Adapter-Development-Documentation#most-important-events)
        
        States anderer Adapter lassen sich damit überwachen:
        

        adapter.subscribeForeignStates

        
        Diese Seite gesehen?
        
        [https://github.com/ioBroker/ioBroker/wi … #functions](https://github.com/ioBroker/ioBroker/wiki/Adapter-Development-Documentation#functions)
        
        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
          stefan0875
          schrieb am zuletzt editiert von
          #4

          @pix:

          Hallo Stefan,

          willkommen im Forum. Und dann gleich im ersten Post einen Adapter-Ankündigung, super! `
          Vielen Dank erst mal für die Unterstützung hier!

          Ich spiele erst noch viel rum und versuche da einen Einstieg in die JavaScript und nodeJS Welt zu bekommen.

          Von einem nutzbaren Adapter für die Allgemeinheit bin ich noch weit entfernt wie du an meinen laienhaften Fragen merkst

          @pix:

          Du kannst natürlich auch im Adapter einen State anlegen und den überwachen. Nennen wir in "trigger".

          adaptername.0.trigger
          ```` `  
          

          Wie genau würdest du den State anlegen? Bisher habe ich es z.B so gemacht:

          adapter.setObject('trigger', {
                  type: 'state',
                  common: {
                      name: 'trigger',
                      type: 'boolean',
          	    role: 'switch'
                  },
                  native: {}
              });
          

          @pix:

          Dann kannst du den mitadapter.on("adaptername.0.trigger")natürlich auch überwachen. Wenn die Änderungen nur aus VIS erwünscht sind, kannst die Überwachung mit"from: system.adapter.web.0"einschränken `

          Dazu muss ich mich aber erst subscriben, oder?

          adapter.subscribeStates('trigger');
          

          Allerdings wird jetzt zwar der > adapter.stateChanged() notifiziert,

          nicht aber mein

          adapter.on('trigger', function () {
          		adapter.log.info("Trigger triggered");
          	});
          

          Bisher ändere ich die States auch nur über den Admin/Objekte. Wie das dann über VIS geht muss ich auch noch lernen. Mit VIS hab ich bisher noch gar nichts gemacht.

          1 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #5

            Das ist nicht so richtig:

            adapter.on('trigger', function () {
                  adapter.log.info("Trigger triggered");
               });
            

            So sollte es sein:

            adapter.on('stateChange', function (id, state) {
                if (!state || state.ack) return;
            
                // Warning, state can be null if it was deleted
            
                if (id === adapter.namespace + '.trigger') {
                	// do something
                    adapter.log.debug('stateChange ' + id + ' ' + JSON.stringify(state));
                }
            });
            

            https://github.com/ioBroker/ioBroker.te … ain.js#L59

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              stefan0875
              schrieb am zuletzt editiert von
              #6

              Danke Bluefox

              So hab ich es dann in meinem Samsung2016 Adapter gemacht, weil es anders nicht funktionierte.

              Dachte aber das wäre eher eine Notlösung und das 'stateChange' nicht dafür gemacht.

              Gut zu wissen dass es dann doch so richtig ist.

              Obwohl ja ein 'adpater.on('varName', function(){});' schon elegant(er) wäre.

              Wie genau würdest du denn 'trigger' im setObject erzeugen?

              Ich denke ja, als boolean, aber ich bin mir bei der "Rolle" nie sicher. Was hat die für eine Bedeutung?

              Und zum Schluss noch die dumme Newbie Frage: Wie trigger ich den State dann über einen VIS button?

              Danke und Gruß

              Stefan

              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

              664

              Online

              32.5k

              Benutzer

              81.6k

              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