Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Formatieren von Werten via Formeln / Callback function #416

Closed
ma-gu-16 opened this issue Dec 5, 2020 · 9 comments
Closed

Formatieren von Werten via Formeln / Callback function #416

ma-gu-16 opened this issue Dec 5, 2020 · 9 comments
Assignees
Labels
feature 🌟 Feature request or enhancement pro This is a premium feature

Comments

@ma-gu-16
Copy link

ma-gu-16 commented Dec 5, 2020

Hi,

ist es möglich Werte zu formatieren ?

image

zb. WetterStation zeigt die Sonnenscheindauer an , vermutlich in Sekunden, wär schön wenn man evtl im json, eine Formel mitgeben kann. Oder irgendwo einstellen das es Sekunden sind und diese in Stunden haben möchte.

Vielleicht auch wie viele Nachkommastellen.

Oder zu spezifisch ? man könnte es natürlich auch im iobroker mittels script lösen.

Grüsse

@Zefau Zefau added the feature 🌟 Feature request or enhancement label Dec 5, 2020
@Zefau Zefau modified the milestones: ROADMAP v3.0.0, VOTING FEATURE REQUESTS Dec 5, 2020
@Zefau Zefau modified the milestones: VOTING FEATURE REQUESTS, ROADMAP v2.3.0 Dec 25, 2020
@Zefau Zefau changed the title Formatieren von Werten Formatieren von Werten via Formeln / Callback function Dec 28, 2020
@Zefau Zefau added the pro This is a premium feature label Dec 28, 2020
@Zefau Zefau modified the milestones: ROADMAP v2.3.0, ROADMAP v2.2.0 Feb 20, 2021
@Zefau Zefau mentioned this issue Feb 20, 2021
8 tasks
@Zefau
Copy link
Owner

Zefau commented Feb 20, 2021

added with v2.2.0-beta.46.

Usage: Provide a callback function via state properties (Datenpunkt Eigenschaften) using value key, e.g.:

image

image

This example is an arrow function, which only uses the first param, which is val (raw state value).
Available params are (in the following order):

  1. raw value (mixed, depending on the state either string, number, boolean, etc.)
  2. full state (including val, ts, lc, etc.; as object)
  3. all states of the device (as object)
  4. device object

@Zefau
Copy link
Owner

Zefau commented Feb 20, 2021

@ma-gu-16 Beispiel zur Konvertierung von Sekunden zu Stunden (ungetestet):

{
  "value": "val => Math.round(parseInt(val)/3600)"
}

@mcuiobroker
Copy link
Collaborator

mcuiobroker commented Sep 7, 2021

Wie muss die Funktion denn aussehen, wenn man ein Geräteobjekt mit nutzen möchte und dessen Wert?
image
image
bzw ein zusätzlichen State vom Gerät.

@Zefau
Copy link
Owner

Zefau commented Sep 8, 2021

{
  "value": "(val, state, states, device) => {
      console.log(val, state, states, device);
      return val;
   }"
}

Dann siehst du die 4 Einträge in der Konsole.

@Kaskadeur111
Copy link

Also ich bekomme es nicht hin.

Ich möchte einfach nur einen Minutenwert in Stunden umrechnen.

dazu habe ich

{
"value": "val => parseInt(val)/60"
}

oder auch

{
"value": "val => val/60"
}

als Datenpunkt EIgenschaft hinterlegt... es passiert leider garnichts. der Wert wird unverändert ausgegeben.

Was mach ich falsch? Hilfe :-)

@Zefau
Copy link
Owner

Zefau commented Jan 3, 2022

Sieht richtig aus. Bist du Pro?

@Kaskadeur111
Copy link

Kaskadeur111 commented Jan 3, 2022 via email

@JayBa31
Copy link

JayBa31 commented Oct 5, 2022

@ma-gu-16 Beispiel zur Konvertierung von Sekunden zu Stunden (ungetestet):

{
  "value": "val => Math.round(parseInt(val)/3600)"
}

Klappt super. Kannst du mir verraten wie ich das auf 2 Dezimalstellen erweitere?

@Zefau
Copy link
Owner

Zefau commented Oct 20, 2022

.toFixed(2):

{
  "value": "val => Math.round(parseInt(val)/3600).toFixed(2)"
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature 🌟 Feature request or enhancement pro This is a premium feature
Projects
None yet
Development

No branches or pull requests

5 participants