NEWS
(gelöst) Javascript Adapter getSubscriptions()
-
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] -
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] -
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?
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