NEWS
gelöst: Einfache Berechnung im Alias Manager 2.1
-
Hallo zusammen, ich habe im Alias-Manager die Aliase alias.0.battery.raVoltage und alias.0.battery.raCurrent und möchte jetzt bei jeder Änderung den Alias alias.0.battery.raPower berechnen. Wenn ich in Alias Read-Function oder Alias Write Function etwas wie
const v = GetState("alias.0.battery.raVoltage").val; const i = getState("alias.0.battery.raCurrent").val; if (v != null && i != null) { return v * i;schreibe bleibt auch nach Änderung der Werte raPower = NULL
Ich meinte so was war mit dem alten Alias-Manager möglich
Ich habe es dann mit diesem Java-Script probierton({id: "alias.0.battery.raVoltage", change: "any"}, updatePower); on({id: "alias.0.battery.raCurrent", change: "any"}, updatePower); function updatePower() { const v = getState("alias.0.battery.raVoltage").val; const i = getState("alias.0.battery.raCurrent").val; if (v != null && i != null) { setState("alias.0.battery.raPower", v * i, true); } }Sobald ich den starte, bekomme ich die Meldung
Error: Alias alias.0.battery.raPower has no targetGeht es wirklich nicht ohne eine zusätzliche Zwischenvariable auf die dann der Alias zugreift?
-
Hallo zusammen, ich habe im Alias-Manager die Aliase alias.0.battery.raVoltage und alias.0.battery.raCurrent und möchte jetzt bei jeder Änderung den Alias alias.0.battery.raPower berechnen. Wenn ich in Alias Read-Function oder Alias Write Function etwas wie
const v = GetState("alias.0.battery.raVoltage").val; const i = getState("alias.0.battery.raCurrent").val; if (v != null && i != null) { return v * i;schreibe bleibt auch nach Änderung der Werte raPower = NULL
Ich meinte so was war mit dem alten Alias-Manager möglich
Ich habe es dann mit diesem Java-Script probierton({id: "alias.0.battery.raVoltage", change: "any"}, updatePower); on({id: "alias.0.battery.raCurrent", change: "any"}, updatePower); function updatePower() { const v = getState("alias.0.battery.raVoltage").val; const i = getState("alias.0.battery.raCurrent").val; if (v != null && i != null) { setState("alias.0.battery.raPower", v * i, true); } }Sobald ich den starte, bekomme ich die Meldung
Error: Alias alias.0.battery.raPower has no targetGeht es wirklich nicht ohne eine zusätzliche Zwischenvariable auf die dann der Alias zugreift?
@Norwegen60 [sagte]: Alias Read-Function oder Alias Write Function etwas wie
Ein Alias kann nur einen Datenpunkt spiegeln, bzw. jeweils einen DP bei getrennten Status- und Kommando-Datenpunkten.
Funktionen des Javascript-Adapters (getState) können nicht genutzt werden, denn der Alias wird im js-controller realisiert.@Norwegen60 sagte:
Ich meinte so was war mit dem alten Alias-Manager möglichNein, war es nie.
Error: Alias alias.0.battery.raPower has no target
Ein Alias benötigt immer einen Referenz-Datenpunkt.
-
Vielen Dank fpür die schnelle Antwort. D.h. die einzige Möglichkeit ist, dass ich in userdata eine Zustand deklariere, diesem den berechneten Wert zuweise und dann den Alias-Manager auf diese Variable referenziere?
-
Vielen Dank fpür die schnelle Antwort. D.h. die einzige Möglichkeit ist, dass ich in userdata eine Zustand deklariere, diesem den berechneten Wert zuweise und dann den Alias-Manager auf diese Variable referenziere?
@Norwegen60 [sagte]: dann den Alias-Manager auf diese Variable referenziere?
Ein eigener Datenpunkt unter "0_userdata.0" benötigt keinen Alias.
-
Eigentlich war mein Grundgedanke, dass alles was in die DB wandert oder angezeigt wird, wird nur über Aliase gemacht.
Alles darunter (userdata, adapterdata, ...) sind Rohdaten, die bei Änderungen im System (z.B. Austausch eines Geräts) angepasst werden aber der Alias bleibt davon komplett unberührt.
Ist das so nicht zu empfehlen? -
Eigentlich war mein Grundgedanke, dass alles was in die DB wandert oder angezeigt wird, wird nur über Aliase gemacht.
Alles darunter (userdata, adapterdata, ...) sind Rohdaten, die bei Änderungen im System (z.B. Austausch eines Geräts) angepasst werden aber der Alias bleibt davon komplett unberührt.
Ist das so nicht zu empfehlen?@Norwegen60 [sagte]: Rohdaten, die bei Änderungen im System (z.B. Austausch eines Geräts) angepasst werden
Weshalb sollten Daten unter "0_userdata.0" angepasst werden? Dort erstellt man Strukturen, die unabhängig von bestimmten Geräten sind.
-
@Norwegen60 [sagte]: Rohdaten, die bei Änderungen im System (z.B. Austausch eines Geräts) angepasst werden
Weshalb sollten Daten unter "0_userdata.0" angepasst werden? Dort erstellt man Strukturen, die unabhängig von bestimmten Geräten sind.
@Norwegen60 [sagte]: Rohdaten, die bei Änderungen im System (z.B. Austausch eines Geräts) angepasst werden
Weshalb sollten Daten unter "0_userdata.0" angepasst werden? Dort erstellt man Strukturen, die unabhängig von bestimmten Geräten sind.
@norwegen60
Ein notwendiger Alias muss vor der Verarbeitung der Daten gelagert sein.Nach der Verarbeitung landet das Ergebnis in 0_userdata.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