NEWS


  • javascript.0	2020-04-26 15:02:11.625	warn	(30281) at script.js.DEV.a2:40:13
    javascript.0	2020-04-26 15:02:11.625	warn	(30281) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1354:20)
    javascript.0	2020-04-26 15:02:11.625	warn	(30281) You are assigning a string to the state "javascript.0.Devices.ebus.currenterror.1.ErrorText" which expects a String. Please fix your code to use a String or change the state type to string. T
    javascript.0	2020-04-26 15:02:11.624	warn	(30281) at script.js.DEV.a2:39:13
    javascript.0	2020-04-26 15:02:11.624	warn	(30281) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1354:20)
    javascript.0	2020-04-26 15:02:11.624	warn	(30281) You are assigning a number to the state "javascript.0.Devices.ebus.currenterror.1.ErrorCode" which expects a Number. Please fix your code to use a Number or change the state type to number. T
    

    You are assigning a string to the state "javascript.0.Devices.ebus.currenterror.1.ErrorText" which expects a String. Please fix your code to use a String or change the state type to string.

    Was soll ich noch machen? Die gleiche Warnung erhalte ich bei number. Dabei spielt es keine Rolle ob ich ein number gebe oder sogar nach number konvertiere.

    Was mache ich falsch?

    for(var i=0; i<5; i++) {
        if (!getObject(storeDP + "." + i + ".ErrorCode")) {
            createState(storeDP + "." + i + ".ErrorCode", "", {
                "desc": "ErrorCode",
                "name": "ErrorCode",
                "type": "number",
                "role": "",
                "unit": ""
            });
        }
        if (!getObject(storeDP + "." + i + ".ErrorText")) {
            createState(storeDP + "." + i + ".ErrorText", "", {
                "desc": "ErrorText",
                "name": "ErrorText",
                "type": "string",
                "role": "",
                "unit": ""
            });
        }
    }
    
        for(i=0;i<5;i++) {
            stat = getState(id+"."+i+".value").val;
            if(stat){
                setState(storeDP+"."+i+".ErrorCode", Number(stat));
                setState(storeDP+"."+i+".ErrorText", meldungen.get(stat));
                log(stat);
                log(meldungen.get(stat));
            }
        }
    
  • Forum Testing Most Active Global Moderator Administrators

    @a200 sagte in Problemen mit Typ:

    or change the state type to string.

    ich habe da irgendwie den Verdacht, dass die bisherige sehr kryptische Fehlermeldung jetzt zwar länger ist, aber so nicht passt.

    Welchen Typ hat denn der Datenpunkt?


  • @a200 sagte:

    Was mache ich falsch?

    Groß-/Kleinschreibung: "Number" und "String" sind unzulässig.


  • @paul53 wie man in der Datenpunktdefinition sieht nutze ich klein-geschriebenes string und number.

    bei der Javascriptfunktion dachte ich immer das sie Number() heißt. Aber die Änderung auf number() hat geholfen. Danke.


  • @a200 sagte:

    "javascript.0.Devices.ebus.currenterror.1.ErrorText" which expects a String
    "javascript.0.Devices.ebus.currenterror.1.ErrorCode" which expects a Number

    Diese beiden Datenpunkte enthalten offenbar einen falsch geschriebenen common.type.

Suggested Topics

  • 2
  • 9
  • 6
  • 1
  • 1
  • 12
  • 25
  • 12

1.9k
Online

38.3k
Users

43.7k
Topics

611.0k
Posts