NEWS
Nachkommastellen verschwunden?
-
@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!
-
@homoran naja mit dem History adapter sehe ich im Moment wann der letzte Wert gekommen ist... ohne mir die Werte "merken" zu müssen... sobald ein Neuer Wert im History eingetragen ist, müsste ja das Script greifen > Wert hat sich geändert.
Im Script habe ich den Debug Baustein nun auf Info gestellt.
Soll ich die Logstufe nun auf Debug lassen oder wieder auf Info zurück?
das Script habe ich gespeichert und neu gestartet
19:38:10.535 info javascript.0 (1233) Stop script script.js.KNX_Daten.Wasserzähler 19:38:10.624 info javascript.0 (1233) Start javascript script.js.KNX_Daten.Wasserzähler 19:38:10.628 info javascript.0 (1233) script.js.KNX_Daten.Wasserzähler: registered 1 subscription and 0 schedules
-
@dditt sagte in Nachkommastellen verschwunden?:
Soll ich die Logstufe nun auf Debug lassen oder wieder auf Info zurück?
erst mal lassen!
Und steht das gepostete auch im log-Fenster unter dem Skript ?
-
@homoran ist belassen.
da hab ich es rauskopiert...
-
gerade wieder den stündlichen Wert bekommen.
Das steht im Logfile
javascript.0 2021-01-24 20:06:48.728 info (1233) script.js.KNX_Daten.Wasserzähler: Wert:131.711
-
@dditt sagte in Nachkommastellen verschwunden?:
Das steht im Logfile
gut!
dann wissen wir schon mal, dass der Wert ankommt!
Aber was passiert dann?
Danach steht nichts mehr im log?
und im Datenpunkt steht auch nichts? -
@homoran das steht bisher im Logfile
knx.0 2021-01-24 20:10:00.788 info (802) Connected - local UDP Server listening on 192.168.178.33:49608 knx.0 2021-01-24 20:10:00.787 info (802) Using UDP with local IP: 192.168.178.33 knx.0 2021-01-24 20:09:59.788 info (802) STATE_NOT_CONNECTED : Stop connection : STATE_NOT_CONNECTED(0) to STATE_NOT_CONNECTED(0). knx.0 2021-01-24 20:09:58.786 info (802) STATE_NOT_CONNECTED : Try to connect / reconnect : STATE_DISCONNECT_REQUEST(15) to STATE_NOT_CONNECTED(0). javascript.0 2021-01-24 20:07:47.989 debug (1233) system.adapter.admin.0: logging true javascript.0 2021-01-24 20:06:48.728 info (1233) script.js.KNX_Daten.Wasserzähler: Wert:131.711
In den objekten bei KNX ist aber das Feld leer..
EDIT:
das sind die RAW Daten des "Zielobjektes" von der KNX Instanz:
{ "_id": "knx.0.Zigbee_IOBroker_Eingänge.Wasserzähler.Wasserzähler_Zählerstand", "type": "state", "common": { "name": "Wasserzähler Zählerstand", "type": "number", "role": "value.volume", "unit": "counter pulses", "max": "", "min": "", "read": false, "write": true, "update": false }, "native": { "dpt": "DPT12.001", "address": "5/7/0", "addressRefId": "P-0626-0_GA-568", "statusGARefId": "", "actGARefId": "", "objRef": "O-51_R-51", "devName": "M-0006_A-0000-01-7D94", "devInst": "P-0626-0_DI-67", "objectSize": "" }, "from": "system.adapter.knx.0", "user": "system.user.admin", "ts": 1611428921084, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 } }
-
@dditt sagte in Nachkommastellen verschwunden?:
"read": false,
ich kenne mich mit KNX nicht aus, aber der Adapter kann die Werte, die in KNX sind, dort gar nicht auslesen.
-
@homoran ich habe das so verstanden, da ich auf / Richtung Knx Bus senden möchte, schreibe ich. Dadurch nur die Berechtigung für schreiben. Auslesen möchte ich an der Stelle vom knx Bus ja nichts. Sondern nur darauf schreiben / senden...
Die anderen beiden häkchen, Update und lesen habe ich raus, da sonst auch keine Werte angekommen wären auf dem Bus. Das haben ich hier irgendwo gelesen dass das zusammenhängt...
Habe aber jetzt zum testen mal beide Häkchen im Objekt gesetzt. Mal sehen ob dann zumindest ein Wert erscheint.
-
beide Häkchen gesetzt, bringt auch keinen Wert mehr.
Habe jetzt die KNX Instanz entfernt und nochmal neu hinzugefügt. Um kurz nach 9 Uhr sehen wir dann mehr
EDIT:
Fehlanzeige, bekomme jetzt erstmal gar keinen Wert mehr, da niemand zuhause der Wasser verbraucht
Das Script kann ich nicht ändern, dass er auch ohne Änderung den Wert sendet? Oder müsste ich dazu nur einen Trigger Baustein Nehmen, Sende alle 15 Minuten oder so?
So in etwa?
-
bei den anderen "Weiter-reich-Scripten" habe ich auch bei zwei Werten das Problem...
Die Scripte sind alle Identisch, aber der Wert bleibt leer. Bei den anderen Werten funktioniert es aber