NEWS
Nachkommastellen verschwunden?
-
@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.
-
so, also:
- bei allen Objekten die der KNX Adapter erzeugt hat, einen MIN MAX Wert eingetragen (wo standardmäßig keiner eingetragen war)
- bei allen Objekten die Richtung KNX Bus senden/Schreiben, Lesen und Update deaktiveren -> nur
lesenschreiben
Dann kommen die Werte am Bus auch an.
So, nun wären wir aber wieder beim Ursprünglichen Problem, dass der Wasserzähler nur die Stellen vor dem Komma / Punkt überträgt??
EDIT / Überlegung:
Ich habe jetzt das Komma im Wasserzähler mit einer Mathematik Funktion *1000 eliminiert. Ich kann mir Vorstellen dass das KNX Objekt "Zählimpuls" nur ganze Zahlen zulässt, und deswegen die Nachkommastellen weglässt.
-
Überlegung bestätigt:
dann erscheint auf dem KNX Bus auch der richtige Wert:
Kann man dieses neu geschöpfte Wissen den Jungs vom KNX-Adapter weitergeben? Also Zumindest das mit dem MIN/MAX Wert und dem Schreiben/Lesen/update?
Das andere war denke ich KNX Spezifisch...
Sollte man auch das Problem mit den roten Werten noch angehen?
-
@dditt sagte in Nachkommastellen verschwunden?:
Sollte man auch das Problem mit den roten Werten noch angehen?
Wenn die Info vom KNX-Adapter trotzdem abgeholt wird und in deiner KNX-Umgebung erscheint, bleibt es nur ein optisches Problem.
Warum das so ist, weiß ich nicht. Vielleicht kann ein KNX-Kundiger (evtl. @chefkoch009 ( etwas dazu sagen
-