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. Error/Bug
  4. (gelöst) Javascript Adapter getSubscriptions()

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

(gelöst) Javascript Adapter getSubscriptions()

Geplant Angeheftet Gesperrt Verschoben Error/Bug
5 Beiträge 3 Kommentatoren 1.4k 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.
  • ruhr70R Offline
    ruhr70R Offline
    ruhr70
    schrieb am zuletzt editiert von
    #1

    Ich wollte mir mit der Funktion getSubscription() die Subscriptions einer Instanz ausgeben lassen.

    Kann es sein, dass in der Rückmeldung im JSON nur die Bezeichnung der Subscription ausgegeben werden und die weiteren Werte, wie "Name des Scripts", "pattern", usw. nicht?

    Script zur Ausgabe aller Subscriptions in einer Javascript Instanz:

    `// schreibt alle Subscriptions in ein Objekt
    
    var subscriptions =     getSubscriptions();
    var subscriptionCount = 0;
    
    for (var subscriptionDP in subscriptions) {
        for (var i = 0; i < subscriptions[subscriptionDP].length; i++) {
            subscriptionCount++;   
            //log (subscriptions[subscriptionDP].length);
            log("Subscription: " + subscriptionDP + " # im Script: " + subscriptionDP[i].name + " # pattern: " + subscriptionDP[i].pattern,"info");
        }
    }
    
    log("Anzahl Subscription: " + subscriptionCount);
    
    /* Ergebnis in der Form:
    {
        "megad.0.dataPointName" : [
            {
                "name" : "script.js.NameOfScript",
                "pattern" : {
                    "id" : "megad.0.dataPointName",
                    "change" : "ne"
                }
            }
        ]
    }
    */` 
    
    Und der letzte Teil des Ergebnisses:
    
    `~~[code]~~javascript-0	2016-03-08 22:56:46	info	script.js.getSubscriptions: Anzahl Subscription: 132
    javascript-0	2016-03-08 22:56:46	info	script.js.getSubscriptions: Subscription: javascript.0.Anwesenheit.Micha.Anwesenheitspunkte # im Script: undefined # pattern: undefined
    javascript-0	2016-03-08 22:56:46	info	script.js.getSubscriptions: Subscription: geofency.0.0.Auto.entry # im Script: undefined # pattern: undefined
    javascript-0	2016-03-08 22:56:46	info	script.js.getSubscriptions: Subscription: yr.0.forecast.day0.wind_speed # im Script: undefined # pattern: undefined
    javascript-0	2016-03-08 22:56:46	info	script.js.getSubscriptions: Subscription: sonos.0.root.172_16_130_146.volume # im Script: undefined # pattern: undefined
    [/code]`[/i][/i]
    

    Adapter: Fritzbox, Unify Circuit
    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

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

      Du hast ein paar Fehler drin:

      `function printSubs() {
          var subscriptions =     getSubscriptions();
          var subscriptionCount = 0;
      
          for (var dp in subscriptions) {
              for (var i = 0; i < subscriptions[dp].length; i++) {
                  subscriptionCount++;   
                  log("Subscription: " + dp + " # im Script: " + subscriptions[dp][i].name + " # pattern: " + JSON.stringify(subscriptions[dp][i].pattern),"info");
              }
          }
      
          log("Anzahl Subscription: " + subscriptionCount);
      }`[/i][/i]
      
      1 Antwort Letzte Antwort
      0
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        schrieb am zuletzt editiert von
        #3

        @Bluefox:

        Du hast ein paar Fehler drin: `

        Danke!

        Tomaten auf den Augen. Der Bereich mit .pattern war mir klar. Davor war ich wirklich blind.

        Funktioniert jetzt :-)

        Ergebnis (Auszug):

        javascript-0	2016-03-10 04:24:27	info	script.js.getSubscriptions: Anzahl Subscription: 133
        javascript-0	2016-03-10 04:24:27	info	script.js.getSubscriptions: Subscription: javascript.0.Synology.MemUsedPercent # im Script: script.js.Schwellwerte # pattern: {"id":"javascript.0.Synology.MemUsedPercent","logic":"and"}
        javascript-0	2016-03-10 04:24:27	info	script.js.getSubscriptions: Subscription: yr.0.forecast.day0.wind_speed # im Script: script.js.Schwellwerte # pattern: {"id":"yr.0.forecast.day0.wind_speed","logic":"and"}
        javascript-0	2016-03-10 04:24:27	info	script.js.getSubscriptions: Subscription: sonos.0.root.172_16_130_146.volume # im Script: script.js.Schwellwerte # pattern: {"id":"sonos.0.root.172_16_130_146.volume","logic":"and"}
        javascript-0	2016-03-10 04:24:27	info	script.js.getSubscriptions: Subscription: sonos.0.root.172_16_130_149.volume # im Script: script.js.Schwellwerte # pattern: {"id":"sonos.0.root.172_16_130_149.volume","logic":"and"}
        javascript-0	2016-03-10 04:24:27	info	script.js.getSubscriptions: Subscription: sonos.0.root.172_16_130_169.volume # im Script: script.js.Schwellwerte # pattern: {"id":"sonos.0.root.172_16_130_169.volume","logic":"and"}
        

        In pattern taucht gegenüber der Dokumentation

        https://github.com/iobroker/ioBroker.ja … scriptions

        nun noch logik auf, immer mit dem Wert "and". Welche Bedeutung hat denn logic?

        Adapter: Fritzbox, Unify Circuit
        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

        1 Antwort Letzte Antwort
        0
        • ruhr70R Offline
          ruhr70R Offline
          ruhr70
          schrieb am zuletzt editiert von
          #4

          Aus der Javascript Adapter Dokumentation:

          logic

          string

          "and" or "or"

          logic to combine the conditions (default: "and")

          Hat jemand mal ein Beispiel für "or"? :-)

          Adapter: Fritzbox, Unify Circuit
          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

          1 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            looxer01
            schrieb am zuletzt editiert von
            #5

            Hi,

            ich konnte keinen analogen Befehl für schedule finden.

            Gibt es evt einen Weg um die Liste der geplanten scripte und Adapter zu erhalten?

            vG Looxer

            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

            757

            Online

            32.5k

            Benutzer

            81.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