NEWS
Alias zeigt viele Nachkommastellen unter Objekte
-
@paul53 said in Alias zeigt viele Nachkommastellen unter Objekte:
@asman-hm sagte in Alias zeigt viele Nachkommastellen unter Objekte:
"read": "Math.round(val * 10) / 10", "write": false, "alias": { "id": "hm-rpc.1.QEQ1564195.1.TEMPERATURE" },
Nicht common.read ändern, sondern common.alias.read ergänzen:
"read": true, "write": false, "alias": { "id": "hm-rpc.1.QEQ1564195.1.TEMPERATURE", "read": "Math.round(val * 10) / 10" },
Kaum macht man es richtig, schon klappt es.
Danke! -
Hallo paul53,
da du dich hier ja auszukennen scheinst möchte ich dich fragen ob du mir da mal helfen kannst.
Auch ich habe das Problem das bei meinem Gaszähler viel zu viele Nullen sind ich aber keine Ahnung habe wo ich das mit dem runden einpflegen soll.
Ich habe mal die Objektdaten des Alias mit angehängt. Muß das da irgendwo rein?{ "common": { "name": "Gaszaehler", "desc": "Manuell erzeugt", "role": "value", "type": "number", "read": true, "write": true, "def": 0, "custom": { "sourceanalytix.0": { "enabled": true, "selectedUnit": "m³", "deviceResetLogicEnabled": true, "threshold": 1, "start_day": 0, "start_week": 0, "start_month": 0, "start_quarter": 0, "start_year": 0, "alias": "Gaszähler", "selectedPrice": "Gas", "consumption": true, "valueAtDeviceReset": 0, "valueAtDeviceInit": 9264.230000000001 } } }, "type": "state", "native": {}, "_id": "0_userdata.0.Gaszaehler.Gaszaehler", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.sourceanalytix.0", "user": "system.user.admin", "ts": 1679819474473 }
Es wäre sehr nett wenn du mir helfen würdest.
Gruß Duffy
-
@duffy sagte: Objektdaten des Alias
Das ist kein Alias, sondern ein eigener Datenpunkt, der wahrscheinlich per Skript geschrieben wird. Man muss dann im Skript runden.
-
Zefix, du hast recht es ist bei 0_userdate drin, sorry. Die Daten werden von einem Blockly in den Datenpunkt geschrieben.
Trotzdem meine Frage wie ich die Nullen weg bekomme.
Kannst du mir das bitte in einfachen Worten erklären, beschäftige mich erst 2 Monate mit dem iob und da holpert es doch schon noch sehr.
Kann es vielleicht daran liegen das der Sourceanalytics Adapter da mit rein funkt?Oder kannst du mir sagen ob ich hier was reinbasteln kann?
Verstehe eh nicht woher die Nullen kommen weil ja vom Ausgangswert immer nur 0,01 dazugezählt wird.
-
@duffy sagte: vom Ausgangswert immer nur 0,01 dazugezählt wird.
0,01 muss binär gerundet werden, wodurch Nachkommastellen entstehen können.
Ist "COUNTER_C1" ein Integer-Wert? Dann dividiere ihn durch 100. Wenn es kein Integer-Wert ist, dann runde ihn vorher.
-
@duffy said in Alias zeigt viele Nachkommastellen unter Objekte:
Trotzdem meine Frage wie ich die Nullen weg bekomme.
Es gibt unter Mathematik im Blockly diesen Baustein - der mach das was @paul53 als JavaScript-Code zeigte:
-
Danke paul53. Das Signal vom Gaszähler kommt von einem reed Kontakt der am Gaszähler ist. Ich darf also immer nur
0,01 m³, das ist der Wert eines Signals zu meinem Gaszählerstand dazu rechen sonst stimmt der Wert nicht mehr.Ich habe das nun mal so eingetragen wie von dir vorgeschlagen nur mit 0,01 und es scheint im Moment zu klappen.
Danke erst mal dafür.
-
danke schön.
-
@duffy sagte: nur mit 0,01
Anstelle der Multiplikation mit 0,01 verwende die Division durch 100.
-
ok, habe ich so umgestellt.
Ich verstehe zwar nicht warum das eine geht und das andere nicht aber wichtig ist mir das es jetzt gehtAber da du dich ja so richtig auszukennen scheinst fällt mir da noch ein Problem ein, passt zwar hier jetzt nicht zu dem Thema, will es trotzdem kurz anreißen und machr ggf ein neues Thema auf.
Ich habe ein Blockly bei dem durch einen BWM das Licht angeschaltet wird das nach einer gewissen Zeit wieder aus geht.
Schalte ich das Licht VOR dem BWM über Alexa ein bleibt es dauerhaft an.
Was ich aber gerne hätte ist, dass wenn der BWM das Licht an gemacht hat und ich Alexa sage: "Licht Wohnzimmer an" dieses auch dauerhaft an bleibt. Aktuell ist es so das es wenn es durch den BWM an gemacht wurde auch durch diesen wieder aus geht.Kannst du mir da auch helfen? Soll ich ein neues Thema draus machen und das hier wieder löschen?
Gruß Duffy
-
@duffy said in Alias zeigt viele Nachkommastellen unter Objekte:
passt zwar hier jetzt nicht zu dem Thema
Dann solltest Du auch ein neues Thema aufmachen. Das Forum hier ist ja nicht (nur) zur individuellen Hilfe sondern es sollen alle profitieren.
-
-
Hallo paul53,
die Nullen haben mich wieder eingeholt.
Ich habe das runden mit 2 verschiedenen Bausteinen versucht aber die Nullen sind wieder gekommen.- Versuch
2.Versuch
=>
Gibt es noch eine Alternativ Idee?
Gruß Duffy
- Versuch
-
@duffy sagte: Gibt es noch eine Alternativ Idee?
Initialisiere
Zaehlerstand_initial
mit einem Integer-Wert (100 fache), runde die Summe und teile dies durch 100. -
Danke paul53.
Ich habe es soeben umgesetzt und bin gerade am testen und es scheint zu klappen.Kannst du mir bitte noch in ganz einfachen Worten sagen warum das nun so klappt und vorher nicht?
Hängt das damit zusammen wie die Zahlen Systemintern gehändelt werden?Viele Grüße Duffy
-
@duffy sagte: warum das nun so klappt und vorher nicht?
Bei Berechnungen (Addition) mit nicht Integer-Zahlen kommt es manchmal zu Rundungsfehlern. Dividiert man aber eine Integer-Zahl durch 100, erhält man immer max. 2 Nachkommastellen.
-