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. JavaScript
  5. "Unsubscribe" Objekt von einem anderen Skript

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

"Unsubscribe" Objekt von einem anderen Skript

Geplant Angeheftet Gesperrt Verschoben JavaScript
8 Beiträge 4 Kommentatoren 744 Aufrufe 3 Watching
  • Ä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.
  • C Offline
    C Offline
    CzarnyLewis
    schrieb am zuletzt editiert von
    #1

    Wenn ich das Objekt "subscribe" und dann in einem Skript "unsubscribe", funktioniert alles.

    on({id:"0_userdata.0.VIS.Views.LColorChange.RGB"}, function (obj) {console.log("OK")});
    console.log(unsubscribe("0_userdata.0.VIS.Views.LColorChange.RGB")); //true
    

    aber dann verschiebe ich die letzte Zeile in ein anderes Skript, ich habe die falsche Antwort. Beispiel:

    Script1:
    on({id:"0_userdata.0.VIS.Views.LColorChange.RGB"}, function (obj) {console.log("OK")});
    Script2:
    console.log(unsubscribe("0_userdata.0.VIS.Views.LColorChange.RGB")); //false
    

    Wie kann ich ein in einem anderen Skript abonniertes Objekt abbestellen?

    A 1 Antwort Letzte Antwort
    0
    • C CzarnyLewis

      Wenn ich das Objekt "subscribe" und dann in einem Skript "unsubscribe", funktioniert alles.

      on({id:"0_userdata.0.VIS.Views.LColorChange.RGB"}, function (obj) {console.log("OK")});
      console.log(unsubscribe("0_userdata.0.VIS.Views.LColorChange.RGB")); //true
      

      aber dann verschiebe ich die letzte Zeile in ein anderes Skript, ich habe die falsche Antwort. Beispiel:

      Script1:
      on({id:"0_userdata.0.VIS.Views.LColorChange.RGB"}, function (obj) {console.log("OK")});
      Script2:
      console.log(unsubscribe("0_userdata.0.VIS.Views.LColorChange.RGB")); //false
      

      Wie kann ich ein in einem anderen Skript abonniertes Objekt abbestellen?

      A Offline
      A Offline
      Ahnungsbefreit
      schrieb am zuletzt editiert von
      #2

      @czarnylewis Mit meinem Halbwissen würde ich sagen, dass das nur indirekt z.B. über einen Hilfsdatenpunkt geht, den Du in dem einen Script auf false setzt und darauf in dem anderen einen Trigger setzt, der dann das Unsubscribe macht.

      Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

      C 1 Antwort Letzte Antwort
      0
      • A Ahnungsbefreit

        @czarnylewis Mit meinem Halbwissen würde ich sagen, dass das nur indirekt z.B. über einen Hilfsdatenpunkt geht, den Du in dem einen Script auf false setzt und darauf in dem anderen einen Trigger setzt, der dann das Unsubscribe macht.

        C Offline
        C Offline
        CzarnyLewis
        schrieb am zuletzt editiert von
        #3

        @ahnungsbefreit Danke, aber ich habe viele Skripte für ein Objekt und möchte dies von einem bestimmten Skript aus tun.

        AlCalzoneA 1 Antwort Letzte Antwort
        0
        • C CzarnyLewis

          @ahnungsbefreit Danke, aber ich habe viele Skripte für ein Objekt und möchte dies von einem bestimmten Skript aus tun.

          AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von AlCalzone
          #4

          @czarnylewis Skripte laufen jeweils in ihrer eigenen Sandbox mit eigenen Subscriptions etc. Das was du vor hast, geht so nicht ohne Umwege wie z.B. einen Datenpunkt, über den sich die Skripte gegenseitig steuern.

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          A 1 Antwort Letzte Antwort
          0
          • AlCalzoneA AlCalzone

            @czarnylewis Skripte laufen jeweils in ihrer eigenen Sandbox mit eigenen Subscriptions etc. Das was du vor hast, geht so nicht ohne Umwege wie z.B. einen Datenpunkt, über den sich die Skripte gegenseitig steuern.

            A Offline
            A Offline
            Ahnungsbefreit
            schrieb am zuletzt editiert von
            #5

            @alcalzone sag ich doch!

            Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

            C 1 Antwort Letzte Antwort
            1
            • A Ahnungsbefreit

              @alcalzone sag ich doch!

              C Offline
              C Offline
              CzarnyLewis
              schrieb am zuletzt editiert von CzarnyLewis
              #6

              Vielleicht verstehe ich es nicht.
              Wie macht man das im folgenden Beispiel richtig?

              Script1:
              SetSubscribe("1") 
              
              Script2:
              SetSubscribe("2") 
              
              Script global:
              function SetSubscribe(text:string) {
                  unsubscribe("obiectID")
                  on({id:"obiectID"}, function (obj) {console.log(text)})
              }
              

              Nach dem Ausführen von Script1 gibt mir das Ändern von obiectID "1" - es ist in Ordnung.
              Als nächstes, nachdem ich Script2 ausgeführt habe, gibt mir das Ändern von obiectID "1" und "2" - ich möchte nur "2".

              C T 2 Antworten Letzte Antwort
              0
              • C CzarnyLewis

                Vielleicht verstehe ich es nicht.
                Wie macht man das im folgenden Beispiel richtig?

                Script1:
                SetSubscribe("1") 
                
                Script2:
                SetSubscribe("2") 
                
                Script global:
                function SetSubscribe(text:string) {
                    unsubscribe("obiectID")
                    on({id:"obiectID"}, function (obj) {console.log(text)})
                }
                

                Nach dem Ausführen von Script1 gibt mir das Ändern von obiectID "1" - es ist in Ordnung.
                Als nächstes, nachdem ich Script2 ausgeführt habe, gibt mir das Ändern von obiectID "1" und "2" - ich möchte nur "2".

                C Offline
                C Offline
                CzarnyLewis
                schrieb am zuletzt editiert von
                #7

                In welcher Datei ist der Quellcode der "unsubscribe" Anweisung geschrieben?

                1 Antwort Letzte Antwort
                0
                • C CzarnyLewis

                  Vielleicht verstehe ich es nicht.
                  Wie macht man das im folgenden Beispiel richtig?

                  Script1:
                  SetSubscribe("1") 
                  
                  Script2:
                  SetSubscribe("2") 
                  
                  Script global:
                  function SetSubscribe(text:string) {
                      unsubscribe("obiectID")
                      on({id:"obiectID"}, function (obj) {console.log(text)})
                  }
                  

                  Nach dem Ausführen von Script1 gibt mir das Ändern von obiectID "1" - es ist in Ordnung.
                  Als nächstes, nachdem ich Script2 ausgeführt habe, gibt mir das Ändern von obiectID "1" und "2" - ich möchte nur "2".

                  T Nicht stören
                  T Nicht stören
                  ticaki
                  schrieb am zuletzt editiert von
                  #8

                  @czarnylewis
                  Das geht so nicht. Globale Skripts werden jedem Skript vorangestellt in deinem Beispiel erzeugst du 2 on() die jeweils auf die Änderung von objetcID reagieren.

                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                  Spenden

                  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

                  705

                  Online

                  32.6k

                  Benutzer

                  82.1k

                  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