NEWS
Merkwürdiges Typ-Problem
-
Heute habe ich folgende zwei Warnungen im Logging entdeckt, nachdem ich die Fehlpuls-Korrektur meiner Pulszähler-Mimik am Gaszähler durchgeführt habe.
2024-02-14 07:52:30.311 - warn: javascript.0 (63494) You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions. 2024-02-14 07:52:30.315 - warn: javascript.0 (63494) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1740:20) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Object. (script.js.Energiezaehler.Gaszaehler:27:5) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1266:38) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:645:29) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11229:62) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at processImmediate (node:internal/timers:476:21) 2024-02-14 07:52:30.317 - warn: javascript.0 (63494) You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions. 2024-02-14 07:52:30.319 - warn: javascript.0 (63494) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1740:20) 2024-02-14 07:52:30.319 - warn: javascript.0 (63494) at Object. (script.js.Energiezaehler.Gaszaehler:29:5) 2024-02-14 07:52:30.319 - warn: javascript.0 (63494) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1266:38) 2024-02-14 07:52:30.320 - warn: javascript.0 (63494) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:645:29) 2024-02-14 07:52:30.320 - warn: javascript.0 (63494) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11229:62) 2024-02-14 07:52:30.320 - warn: javascript.0 (63494) at processImmediate (node:internal/timers:476:21)Heilen konnte ich das im Blockly der Korrekturprozedur durch eingefügte "Nach Zahl" Blöcke...

Merkwürdigerweise ist aber NullKubikWork gar kein String ...

Hat da jemand eine Idee, was das sein könnte?
Javascript Code mit "nach Zahl"
on({ id: '0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") == 0 && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0') { setState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork' /* NulKubikWork */, getState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal').val, true); console.log('State 0'); } else if ((obj.state ? obj.state.val : "") == 2) { console.log('State 2'); setState('0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter' /* LastKubikmeter */, parseFloat(getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val), true); setState('0_userdata.0.Adjustments.Gaszaehler.NullKubikmeter' /* NullKubikmeter */, Math.round((getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val - 0.01 * getState('alias.0.Zaehler.Gas.Pulse').val) * 1000) / 1000, true); setState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal' /* VerbrauchTotal */, parseFloat(getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val), true); setStateDelayed('0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, 0, true, 1000, false); } });Hier ohne "nach Zahl"
on({ id: '0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") == 0 && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0') { setState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork' /* NulKubikWork */, getState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal').val, true); console.log('State 0'); } else if ((obj.state ? obj.state.val : "") == 2) { console.log('State 2'); setState('0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter' /* LastKubikmeter */, getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val, true); setState('0_userdata.0.Adjustments.Gaszaehler.NullKubikmeter' /* NullKubikmeter */, Math.round((getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val - 0.01 * getState('alias.0.Zaehler.Gas.Pulse').val) * 1000) / 1000, true); setState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal' /* VerbrauchTotal */, getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val, true); setStateDelayed('0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, 0, true, 1000, false); } }); Gibt getState() nicht automatisch eine Returnwert mit dem Typ des abgefragen Objekts zurück? ...EDIT: Bevor am Userdata Datenpunkt "NullKubikWork" gekrittelt wird - mir ist schon selber aufgefallen, dass die Verwendung von userdata da unnötig wäre, und es eine Variable im Script auch getan hätte ...
-
Heute habe ich folgende zwei Warnungen im Logging entdeckt, nachdem ich die Fehlpuls-Korrektur meiner Pulszähler-Mimik am Gaszähler durchgeführt habe.
2024-02-14 07:52:30.311 - warn: javascript.0 (63494) You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions. 2024-02-14 07:52:30.315 - warn: javascript.0 (63494) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1740:20) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Object. (script.js.Energiezaehler.Gaszaehler:27:5) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1266:38) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:645:29) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11229:62) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at processImmediate (node:internal/timers:476:21) 2024-02-14 07:52:30.317 - warn: javascript.0 (63494) You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions. 2024-02-14 07:52:30.319 - warn: javascript.0 (63494) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1740:20) 2024-02-14 07:52:30.319 - warn: javascript.0 (63494) at Object. (script.js.Energiezaehler.Gaszaehler:29:5) 2024-02-14 07:52:30.319 - warn: javascript.0 (63494) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1266:38) 2024-02-14 07:52:30.320 - warn: javascript.0 (63494) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:645:29) 2024-02-14 07:52:30.320 - warn: javascript.0 (63494) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11229:62) 2024-02-14 07:52:30.320 - warn: javascript.0 (63494) at processImmediate (node:internal/timers:476:21)Heilen konnte ich das im Blockly der Korrekturprozedur durch eingefügte "Nach Zahl" Blöcke...

Merkwürdigerweise ist aber NullKubikWork gar kein String ...

Hat da jemand eine Idee, was das sein könnte?
Javascript Code mit "nach Zahl"
on({ id: '0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") == 0 && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0') { setState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork' /* NulKubikWork */, getState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal').val, true); console.log('State 0'); } else if ((obj.state ? obj.state.val : "") == 2) { console.log('State 2'); setState('0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter' /* LastKubikmeter */, parseFloat(getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val), true); setState('0_userdata.0.Adjustments.Gaszaehler.NullKubikmeter' /* NullKubikmeter */, Math.round((getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val - 0.01 * getState('alias.0.Zaehler.Gas.Pulse').val) * 1000) / 1000, true); setState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal' /* VerbrauchTotal */, parseFloat(getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val), true); setStateDelayed('0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, 0, true, 1000, false); } });Hier ohne "nach Zahl"
on({ id: '0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") == 0 && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0') { setState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork' /* NulKubikWork */, getState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal').val, true); console.log('State 0'); } else if ((obj.state ? obj.state.val : "") == 2) { console.log('State 2'); setState('0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter' /* LastKubikmeter */, getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val, true); setState('0_userdata.0.Adjustments.Gaszaehler.NullKubikmeter' /* NullKubikmeter */, Math.round((getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val - 0.01 * getState('alias.0.Zaehler.Gas.Pulse').val) * 1000) / 1000, true); setState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal' /* VerbrauchTotal */, getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val, true); setStateDelayed('0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, 0, true, 1000, false); } }); Gibt getState() nicht automatisch eine Returnwert mit dem Typ des abgefragen Objekts zurück? ...EDIT: Bevor am Userdata Datenpunkt "NullKubikWork" gekrittelt wird - mir ist schon selber aufgefallen, dass die Verwendung von userdata da unnötig wäre, und es eine Variable im Script auch getan hätte ...
@martinp kannst du bitte das log als Text in code-tags posten.
-
@homoran Mache ich gleich oben in Eröffnungspost ... finde aber dass das was man als Text bekommt, wenn man aus dem "Protokolle" Fenster im Browser koplert manchmal etwas komisch formatiernn
@martinp sagte in Merkwürdiges Typ-Problem:
Fenster im Browser koplert
nöö! das sollst du ja auch nicht :-)
das entsprechende log über den Button herunterladen und dort heraus kopieren -
Heute habe ich folgende zwei Warnungen im Logging entdeckt, nachdem ich die Fehlpuls-Korrektur meiner Pulszähler-Mimik am Gaszähler durchgeführt habe.
2024-02-14 07:52:30.311 - warn: javascript.0 (63494) You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions. 2024-02-14 07:52:30.315 - warn: javascript.0 (63494) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1740:20) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Object. (script.js.Energiezaehler.Gaszaehler:27:5) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1266:38) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:645:29) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11229:62) 2024-02-14 07:52:30.316 - warn: javascript.0 (63494) at processImmediate (node:internal/timers:476:21) 2024-02-14 07:52:30.317 - warn: javascript.0 (63494) You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions. 2024-02-14 07:52:30.319 - warn: javascript.0 (63494) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1740:20) 2024-02-14 07:52:30.319 - warn: javascript.0 (63494) at Object. (script.js.Energiezaehler.Gaszaehler:29:5) 2024-02-14 07:52:30.319 - warn: javascript.0 (63494) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1266:38) 2024-02-14 07:52:30.320 - warn: javascript.0 (63494) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:645:29) 2024-02-14 07:52:30.320 - warn: javascript.0 (63494) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11229:62) 2024-02-14 07:52:30.320 - warn: javascript.0 (63494) at processImmediate (node:internal/timers:476:21)Heilen konnte ich das im Blockly der Korrekturprozedur durch eingefügte "Nach Zahl" Blöcke...

Merkwürdigerweise ist aber NullKubikWork gar kein String ...

Hat da jemand eine Idee, was das sein könnte?
Javascript Code mit "nach Zahl"
on({ id: '0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") == 0 && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0') { setState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork' /* NulKubikWork */, getState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal').val, true); console.log('State 0'); } else if ((obj.state ? obj.state.val : "") == 2) { console.log('State 2'); setState('0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter' /* LastKubikmeter */, parseFloat(getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val), true); setState('0_userdata.0.Adjustments.Gaszaehler.NullKubikmeter' /* NullKubikmeter */, Math.round((getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val - 0.01 * getState('alias.0.Zaehler.Gas.Pulse').val) * 1000) / 1000, true); setState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal' /* VerbrauchTotal */, parseFloat(getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val), true); setStateDelayed('0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, 0, true, 1000, false); } });Hier ohne "nach Zahl"
on({ id: '0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") == 0 && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0') { setState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork' /* NulKubikWork */, getState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal').val, true); console.log('State 0'); } else if ((obj.state ? obj.state.val : "") == 2) { console.log('State 2'); setState('0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter' /* LastKubikmeter */, getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val, true); setState('0_userdata.0.Adjustments.Gaszaehler.NullKubikmeter' /* NullKubikmeter */, Math.round((getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val - 0.01 * getState('alias.0.Zaehler.Gas.Pulse').val) * 1000) / 1000, true); setState('0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal' /* VerbrauchTotal */, getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val, true); setStateDelayed('0_userdata.0.Adjustments.Gaszaehler.NullKubikSet' /* NullKubikSet */, 0, true, 1000, false); } }); Gibt getState() nicht automatisch eine Returnwert mit dem Typ des abgefragen Objekts zurück? ...EDIT: Bevor am Userdata Datenpunkt "NullKubikWork" gekrittelt wird - mir ist schon selber aufgefallen, dass die Verwendung von userdata da unnötig wäre, und es eine Variable im Script auch getan hätte ...
@martinp sagte in Merkwürdiges Typ-Problem:
Merkwürdigerweise ist aber NullKubikWork gar kein String ...
Es wird sich ja auch über den Typ von
'0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter'und'0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal'beschwert.
You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter"
You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal"Nicht von
'0_userdata.0.Adjustments.Gaszaehler.NullKubikmeter'Edit: Ach Du kopierst da States hin und her. Verstehe das Script nicht so richtig. Was gibt denn ein
console.log(typeof getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val); -
@martinp sagte in Merkwürdiges Typ-Problem:
Merkwürdigerweise ist aber NullKubikWork gar kein String ...
Es wird sich ja auch über den Typ von
'0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter'und'0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal'beschwert.
You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter"
You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal"Nicht von
'0_userdata.0.Adjustments.Gaszaehler.NullKubikmeter'Edit: Ach Du kopierst da States hin und her. Verstehe das Script nicht so richtig. Was gibt denn ein
console.log(typeof getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val);@haus-automatisierung und genau das konnte ich nicht genau entziffern, aber ich glaube es geht anscheinend um die Stelle im Blockly, die den Wert aus einem DP Typ Number nimmt und dort hineinschreibt.
Dann müsste der geschriebene Wert doch gar nicht gewandelt werdenauch EDIT:
ja, das ist es -
@haus-automatisierung und genau das konnte ich nicht genau entziffern, aber ich glaube es geht anscheinend um die Stelle im Blockly, die den Wert aus einem DP Typ Number nimmt und dort hineinschreibt.
Dann müsste der geschriebene Wert doch gar nicht gewandelt werdenauch EDIT:
ja, das ist es@homoran sagte in Merkwürdiges Typ-Problem:
Dann müsste der geschriebene Wert doch gar nicht gewandelt werden
Na das kommt drauf an, was wirklich in dem State steht. Nur weil der definierte Typ auf dem Objekt
numberist, heißt es ja nicht, dass da auch wirklich mal ein numerischer State gespeichert worden ist.Eventuell wurde ja mal ein String gespeichert (auch mit einer Warnung) und jetzt wird der String da zurückgeliefert...
Nur weil man den Typ auf dem Objekt umstellt, findet AFAIK kein automatischer Cast des State-Wertes auf den neuen Typ statt.
-
@martinp sagte in Merkwürdiges Typ-Problem:
Merkwürdigerweise ist aber NullKubikWork gar kein String ...
Es wird sich ja auch über den Typ von
'0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter'und'0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal'beschwert.
You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.LastKubikmeter"
You are assigning a string to the state "0_userdata.0.Adjustments.Gaszaehler.VerbrauchTotal"Nicht von
'0_userdata.0.Adjustments.Gaszaehler.NullKubikmeter'Edit: Ach Du kopierst da States hin und her. Verstehe das Script nicht so richtig. Was gibt denn ein
console.log(typeof getState('0_userdata.0.Adjustments.Gaszaehler.NulKubikWork').val);Ich lese den Gaszähler mit einem induktiven Näherungssensor aus (1 Puls pro 10 Liter Gas), und der schickt manchmal überzählige Pulse.
Um diese zu korrigieren habe ich einen Vis 1.x View provisorisch gebastelt, bei dem man durch Eintippen des realen Zählerstandes eine Korrektur auslösen kann...
Womöglich kommt da durch die "kalte Küche" ein String in den "Zahl" Userdata - Punkt...
Wäre aber merkwürdig... Widget ist vom Typ "jqui - input"


-
Ich lese den Gaszähler mit einem induktiven Näherungssensor aus (1 Puls pro 10 Liter Gas), und der schickt manchmal überzählige Pulse.
Um diese zu korrigieren habe ich einen Vis 1.x View provisorisch gebastelt, bei dem man durch Eintippen des realen Zählerstandes eine Korrektur auslösen kann...
Womöglich kommt da durch die "kalte Küche" ein String in den "Zahl" Userdata - Punkt...
Wäre aber merkwürdig... Widget ist vom Typ "jqui - input"


@martinp sagte in Merkwürdiges Typ-Problem:
Womöglich kommt da durch die "kalte Küche" ein String in den "Zahl" Userdata - Punkt...
Könnte man jetzt raten, oder man schaut einfach in dem State nach :)
Aber "Zeichen nach Komma" klingt ja schon nach String.
-
@martinp sagte in Merkwürdiges Typ-Problem:
Womöglich kommt da durch die "kalte Küche" ein String in den "Zahl" Userdata - Punkt...
Könnte man jetzt raten, oder man schaut einfach in dem State nach :)
Aber "Zeichen nach Komma" klingt ja schon nach String.
@haus-automatisierung Wie kann man das "typeof" als Blockly formulieren? - stehe da gerade auf dem Schlauch...
EDIT

Habe nach "T" gesucht, nicht nach "O" ;-)
-
@haus-automatisierung Wie kann man das "typeof" als Blockly formulieren? - stehe da gerade auf dem Schlauch...
EDIT

Habe nach "T" gesucht, nicht nach "O" ;-)
@martinp sagte in Merkwürdiges Typ-Problem:
Wie kann man das "typeof" als Blockly formulieren?
Nimm doch einfach kurz ein neues JavaScript. Der Block von Dir nimmt
typedes Objektes (und nicht den "echten" Datentyp des verknüpften States).Den kennst Du ja schon. Da kommt
stateraus. -
@haus-automatisierung Wie kann man das "typeof" als Blockly formulieren? - stehe da gerade auf dem Schlauch...
EDIT

Habe nach "T" gesucht, nicht nach "O" ;-)
-
"script.js.Energiezaehler.Gaszaehler: NulKubikWork ist vom Typ string"Aber merkwürdig - Wieso hat der nicht gesetzte Haken "als String" nicht dazu geführt, dass da eine Float-Zahl aus dem Vis View übertragen wurde?
-
@martinp sagte in Merkwürdiges Typ-Problem:
Womöglich kommt da durch die "kalte Küche" ein String in den "Zahl" Userdata - Punkt...
Könnte man jetzt raten, oder man schaut einfach in dem State nach :)
Aber "Zeichen nach Komma" klingt ja schon nach String.
@haus-automatisierung sagte in Merkwürdiges Typ-Problem:
Aber "Zeichen nach Komma" klingt ja schon nach String.
reingefallen

ist Zeichen nach Punkt. und nur für die Darstellung -
@haus-automatisierung sagte in Merkwürdiges Typ-Problem:
Aber "Zeichen nach Komma" klingt ja schon nach String.
reingefallen

ist Zeichen nach Punkt. und nur für die Darstellung@homoran sagte in Merkwürdiges Typ-Problem:
ist Zeichen nach Punkt.
Alleine der Begriff "Zeichen" lässt doch schon einen String vermuten. Oder die Option hat nur eine Wirkung, wenn man auch "als String" anhakt. Fragen über Fragen. Da müsste man wohl das Widget genauer anschauen um das zu verstehen.
-
@martinp sagte: Wieso hat der nicht gesetzte Haken "als String" nicht dazu geführt, dass da eine Float-Zahl aus dem Vis View übertragen wurde?
Vermutung: Komma anstelle Punkt eingegeben?
@paul53 said in Merkwürdiges Typ-Problem:
@martinp sagte: Wieso hat der nicht gesetzte Haken "als String" nicht dazu geführt, dass da eine Float-Zahl aus dem Vis View übertragen wurde?
Vermutung: Komma anstelle Punkt eingegeben?
Das scheint der Fall zu sein - wenn ich im Datenpunkt den Typ auf "Zahl" ändere, ist das auch nur von kurzer Dauer, dann wird das wieder nach String geändert ...
Vielleicht liegt es am jqui-input control, was unbedingt einen Dezimalpunkt nutzen will ...
-
@homoran sagte in Merkwürdiges Typ-Problem:
ist Zeichen nach Punkt.
Alleine der Begriff "Zeichen" lässt doch schon einen String vermuten. Oder die Option hat nur eine Wirkung, wenn man auch "als String" anhakt. Fragen über Fragen. Da müsste man wohl das Widget genauer anschauen um das zu verstehen.
@haus-automatisierung sagte in Merkwürdiges Typ-Problem:
Alleine der Begriff "Zeichen" lässt doch schon einen String vermuten. Oder die Option hat nur eine Wirkung, wenn man auch "als String" anhakt. Fragen über Fragen
da kennst du die Historie und den Entwickler wohl nicht ;-)
-
@haus-automatisierung sagte in Merkwürdiges Typ-Problem:
Alleine der Begriff "Zeichen" lässt doch schon einen String vermuten. Oder die Option hat nur eine Wirkung, wenn man auch "als String" anhakt. Fragen über Fragen
da kennst du die Historie und den Entwickler wohl nicht ;-)
@homoran Das ist eine merkwürdige Geschichte, irgendwie im Dunstkreis des üblichen Punkt/Komma Ärgers ...
dieses Jqui - input Control scheint da bei unverändertem Zurückschreiben des Wertes aus der Maske den Typ auf "Number" zu belassen, und sobald man die letze Nachpunktstelle editiert wird der Typ auf String geändert ...
Editiert man auch den Dezimalpunkt, und ersetzt ihn durch ein Komma, werden alle Nachkommastelle auf Null gesetzt ...
Das Control scheint unbrauchbar oder zumindest "sperrig" bei deutscher Lokalisierung ...
-
@homoran Das ist eine merkwürdige Geschichte, irgendwie im Dunstkreis des üblichen Punkt/Komma Ärgers ...
dieses Jqui - input Control scheint da bei unverändertem Zurückschreiben des Wertes aus der Maske den Typ auf "Number" zu belassen, und sobald man die letze Nachpunktstelle editiert wird der Typ auf String geändert ...
Editiert man auch den Dezimalpunkt, und ersetzt ihn durch ein Komma, werden alle Nachkommastelle auf Null gesetzt ...
Das Control scheint unbrauchbar oder zumindest "sperrig" bei deutscher Lokalisierung ...
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
