NEWS
Nachkommastellen verschwunden?
-
@homoran richtig, den Wert von dem WM-Bus Objekt möchte ich auf den KNX Bus senden.
Habe den Baustein steuere jetzt eingebaut.
Der "Wert" ist aus dem Trigger Block -> Baustein "Objekt ID" umgestellt über DropDown auf Wert.
Mit dem Debug schaut es dann jetzt so aus:
In einer Stunde wissen wir mehr, der Wasserzähler sendet nur alle 60 Minuten den Wert....
EDIT, habe das Script mit dem Debug Block abgeändert... Denke so ist es eher richtig.
-
131.665 true 2021-01-24 17:08:40.611 131.627 true 2021-01-24 16:49:37.798 null true 2021-01-24 16:49:37.798
den letzten Wert von 17:08 Uhr hat er auch nicht geschrieben... das KNX Objekt das er beschreiben darf ist leer...
-
@dditt sagte in Nachkommastellen verschwunden?:
131.665 true 2021-01-24 17:08:40.611 131.627 true 2021-01-24 16:49:37.798
dann liefert der Datenpunkt einen Bool.
Was ist das genau für ein Datenpunkt?
-
@homoran welche Informationen genau benötigst du? die Zeilen oben kamen aus der History Instanz.
hier die RAW Informationen:
{ "from": "system.adapter.wmbus.0", "user": "system.user.admin", "ts": 1611490120573, "common": { "name": "Volume (Instantaneous value)", "role": "value.volume", "unit": "m³", "read": true, "write": false, "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": 0, "maxLength": "10", "retention": "31536000", "changesRelogInterval": 0, "changesMinDelta": 0, "aliasId": "" } } }, "native": { "id": ".data.1-0-VIF_VOLUME", "StorageNumber": 0, "Tariff": 0 }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "wmbus.0.SEN-40015490.data.1-0-VIF_VOLUME", "type": "state" }
-
@dditt sagte: habe das Script mit dem Debug Block abgeändert
Poste mal den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
-
@dditt Sorry - Mein Fehler
Der DP liefert ja einen Wert - melde mich
Dann ist das gepostete aber nicht der Output vom debug-Block - oder?
EDIT:
@dditt sagte in Nachkommastellen verschwunden?:
die Zeilen oben kamen aus der History Instanz.
Hab's jetzt auch gelesen.
Ich brauche aber den Output des debug-Blocks
müsste auch im allgemeinen Log zu finden sein -
@dditt sagte:
"common": { "name": "Volume (Instantaneous value)", "role": "value.volume", "unit": "m³", "read": true, "write": false, "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": 0, "maxLength": "10", "retention": "31536000", "changesRelogInterval": 0, "changesMinDelta": 0, "aliasId": "" } } },
Es fehlt common.type.
"common": { "type": "number",
-
@homoran nein, das ist aus dem History Adapter!
ich bekomme erst wieder einen Wert so in 10 Minuten ... wenn jemand Wasser verbraucht hat
-
@dditt sagte in Nachkommastellen verschwunden?:
nein, das ist aus dem History Adapter!
das weiß ich ja jetzt
Nutzt nur nix
-
@paul53 habe in den Eigenschaften des Objektes unter dem Reiter Allgemein mit dem "+" Symbol ein neues Attribut hinzugefügt "Type" -> und dieses Auf Zahl gestellt.
{ "from": "system.adapter.wmbus.0", "user": "system.user.admin", "ts": 1611490120573, "common": { "name": "Volume (Instantaneous value)", "role": "value.volume", "unit": "m³", "type": "number", "read": true, "write": false, "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": 0, "maxLength": "10", "retention": "31536000", "changesRelogInterval": 0, "changesMinDelta": 0, "aliasId": "" } } }, "native": { "id": ".data.1-0-VIF_VOLUME", "StorageNumber": 0, "Tariff": 0 }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "wmbus.0.SEN-40015490.data.1-0-VIF_VOLUME", "type": "state" }
-
@dditt sagte: ein neues Attribut hinzugefügt "Type" -> und dieses Auf Zahl gestellt.
Sieht so besser aus.
Poste mal den vom Blockly erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
-
@paul53 said in Nachkommastellen verschwunden?:
Code tags
Es tut mir leid, ich wüsste im Moment nur den Block zu "exportieren", aber was genau soll ich weg lassen?
so?
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="comment" id="9lLvRUT0G){Hm_rrxzla" x="112" y="162"> <field name="COMMENT">Wasserzaehlerstand</field> <next> <block type="on_ext" id="`$=B12u[MI24`;:f(h,D"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id=")-LstACnP[G5;9Mu%VEK"> <field name="oid">wmbus.0.SEN-40015490.data.1-0-VIF_VOLUME</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="L*|7D{]d[(=eGQ]8_t1T"> <field name="Severity">debug</field> <value name="TEXT"> <shadow type="text" id="hEoKu:w%#!q8NRYtE(FI"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="j[]h|PI6q;P+o94$cE|Q"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="j)s}u(N`C)Q$p6rd6fo2"> <field name="TEXT">Wert:</field> </block> </value> <value name="ADD1"> <block type="on_source" id="%lxe0A9xuxV5ctLylS$9"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="control" id="/p8-0sydUN(KN3M^0k3t"> <mutation delay_input="false"></mutation> <field name="OID">knx.0.Zigbee_IOBroker_Eingänge.Wasserzähler.Wasserzähler_Zählerstand</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="D/2qG!CF2.sIHZ$-z}f@"> <value name="VALUE"> <block type="on_source" id="@BQ_]?{,D]+0r_EjeXEe"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </next> </block>
-
@dditt sagte in Nachkommastellen verschwunden?:
Es tut mir leid, ich wüsste im Moment nur den Block zu "exportieren", aber was genau soll ich weg lassen?
oben Rechts kannst du die Ansicht von Blockly in den durch Blockly generierten javascript Code umschalten
Diesen Code bitte hier in Code-tags posten!
die letzte Zeile dieses Codes enthält die Informationen über die Blöcke, ist sehr lang und hier unnötig.
Die sollst du weglassen -
@dditt sagt: ich wüsste im Moment nur den Block zu "exportieren"
So wie @Homoran schrieb. Der Code ist korrekt und sollte funktionieren.
// Wasserzaehlerstand on({id: 'wmbus.0.SEN-40015490.data.1-0-VIF_VOLUME', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.debug(('Wert:' + String((obj.state ? obj.state.val : "")))); setState("knx.0.Zigbee_IOBroker_Eingänge.Wasserzähler.Wasserzähler_Zählerstand", parseFloat((obj.state ? obj.state.val : ""))); });
-
ahh, der Export sieht anders aus als der Code wenn man oben umschaltet.
da ist mir dann auch klar, warum ich die letzte Zeile weglassen soll. bei dem Export war die Letzte Zeile das </xml> ...
muss das "Zielobjekt" noch irgendwie "formatiert" werden?
ich habe nämlich bei zwei anderen Sachen auch keine Werte. Das Script hatte ich mir vor dem Plattmachen des Iobrokers nämlich exportiert gehabt und in der Neuinstallation wieder importiert. Vorher habend die Scripte ja funktioniert....
-
@dditt sagte in Nachkommastellen verschwunden?:
muss das "Zielobjekt" noch irgendwie "formatiert" werden?
natürlich auch vom Typ Number
Aber solange wir den output vom debug nicht kennen, brauchst du da nicht weiter zu machen
-
History Adapter:
131.677 true 2021-01-24 19:08:40.507 131.665 true 2021-01-24 18:00:14.521 131.665 true 2021-01-24 17:08:40.611 131.627 true 2021-01-24 16:49:37.798 null true 2021-01-24 16:49:37.798
Im Logfile steht aber nichts von Javascript... den Wert um 19:08 Uhr müsste ich ja mit Debug erfasst haben...
Habe das Script nochmal neu geladen...
javascript.0 2021-01-24 19:33:46.248 info (847) script.js.KNX_Daten.Wasserzähler: registered 1 subscription and 0 schedules javascript.0 2021-01-24 19:33:46.237 info (847) Start javascript script.js.KNX_Daten.Wasserzähler
Können ÄÜ und Ö Probleme machen?
-
@dditt sagte: Im Logfile steht aber nichts von Javascript.
Dein Log ist mit Level "debug". Wird der im Log auch angezeigt?
-
@dditt sagte in Nachkommastellen verschwunden?:
History Adapter:
der nutzt nichts!
@dditt sagte in Nachkommastellen verschwunden?:
Im Logfile steht aber nichts von Javascript
das müsste aber auch im Fenster unter dem Skript gestanden haben
@dditt sagte in Nachkommastellen verschwunden?:
en Wert um 19:08 Uhr müsste ich ja mit Debug erfasst haben...
stell im debugbaustein mal von debug auf Info um!
@dditt sagte in Nachkommastellen verschwunden?:
Können ÄÜ und Ö Probleme machen?
möglich - aber ohne Info was da ankommt hilft es nicht
-
@paul53 ah, die Instanz Javascript habe ich auf LogStufe "Debug" nun umgestellt!