NEWS
Nachkommastellen verschwunden?
-
@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
-
@dditt sagte in Nachkommastellen verschwunden?:
Bei den anderen Werten funktioniert es aber
nicht wirklich!
so lange der Wert in rot dargestellt wird, wurde er nicht vom Adapter abgeholt und steht somit nichtin deiner KNX zur Verfügung.
Der übliche Grund ist, dass 'aktualisiere' anstelle 'steuere' verwendet wurde.@dditt sagte in Nachkommastellen verschwunden?:
Die Scripte sind alle Identisch, aber der Wert bleibt leer.
Dann sind sie entweder nicht wirklich identisch, oder die Datenpunkte sind es nicht.Wenn da etwas nicht korrekt ist muss dazu etwas im log stehen
-
@homoran wenn ich bei den Objekten in den Allgemeinen Einstellungen etwas bei Minimalwert und Maximalwert eintrage, erscheinen die Werte:
Das ist mir eben aufgefallen, beim vergleichen... Bei den anderen Werten war immer ein MIN/MAX Wert eingetragen, bei diesen beiden nicht.
Die Scripte habe ich gestern alle auf Steuere geändert:
// Batterie in % on({id: "zigbee.0.00158d0002c7d6d5.battery"/*Temp1 - Vorratsraum Battery percent*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("knx.0.Zigbee_IOBroker_Eingänge.Temp_Feuchte_Sensor_1.Temp1_-_Hobbyraum_-_Batterie_Prozent"/*Temp1 - Hobbyraum - Batterie Prozent*/, getState("zigbee.0.00158d0002c7d6d5.battery").val); }); // Luftfeuchte on({id: "zigbee.0.00158d0002c7d6d5.humidity"/*Temp1 - Vorratsraum Humidity*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("knx.0.Zigbee_IOBroker_Eingänge.Temp_Feuchte_Sensor_1.Temp1_-_Hobbyraum_-_Luftfeuchte"/*Temp1 - Hobbyraum - Luftfeuchte*/, getState("zigbee.0.00158d0002c7d6d5.humidity").val); }); // Verbindungsqualität setState("knx.0.Zigbee_IOBroker_Eingänge.Temp_Feuchte_Sensor_1.Temp1_-_Hobbyraum_-_Verbindung"/*Temp1 - Hobbyraum - Verbindung*/, getState("zigbee.0.00158d0002c7d6d5.link_quality").val); on({id: "zigbee.0.00158d0002c7d6d5.link_quality"/*Temp1 - Vorratsraum Link quality*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("knx.0.Zigbee_IOBroker_Eingänge.Temp_Feuchte_Sensor_1.Temp1_-_Hobbyraum_-_Verbindung"/*Temp1 - Hobbyraum - Verbindung*/, getState("zigbee.0.00158d0002c7d6d5.link_quality").val); }); // Luftdruck on({id: "zigbee.0.00158d0002c7d6d5.pressure"/*Temp1 - Vorratsraum Pressure*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("knx.0.Zigbee_IOBroker_Eingänge.Temp_Feuchte_Sensor_1.Temp1_-_Hobbyraum_-_Luftdruck"/*Temp1 - Hobbyraum - Luftdruck*/, getState("zigbee.0.00158d0002c7d6d5.pressure").val); }); // Temperatur on({id: "zigbee.0.00158d0002c7d6d5.temperature"/*Temp1 - Vorratsraum Temperature*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("knx.0.Zigbee_IOBroker_Eingänge.Temp_Feuchte_Sensor_1.Temp1_-_Hobbyraum_-_Temperatur"/*Temp1 - Hobbyraum - Temperatur*/, getState("zigbee.0.00158d0002c7d6d5.temperature").val); }); // Batterie in V setState("knx.0.Zigbee_IOBroker_Eingänge.Temp_Feuchte_Sensor_1.Temp1_-_Hobbyraum_-_Batterie_Volt"/*Temp1 - Hobbyraum - Batterie Volt*/, getState("zigbee.0.00158d0002c7d6d5.voltage").val); on({id: "zigbee.0.00158d0002c7d6d5.voltage"/*Temp1 - Vorratsraum Battery voltage*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("knx.0.Zigbee_IOBroker_Eingänge.Temp_Feuchte_Sensor_1.Temp1_-_Hobbyraum_-_Batterie_Volt"/*Temp1 - Hobbyraum - Batterie Volt*/, getState("zigbee.0.00158d0002c7d6d5.voltage").val); });
-
auch hier, beim Wasserzähler,
sobald ich die MIN/MAX Werte angebe erscheint im Objekt ein Wert.