NEWS


  • @paul53 danke, Fehlermeldung compile failed besteht weiter

    
    javascript.0	2020-05-27 19:21:26.987	error	(394) at processTicksAndRejections (internal/process/task_queues.js:97:5)
    javascript.0	2020-05-27 19:21:26.986	error	(394) at runMicrotasks (<anonymous>:null:null)
    javascript.0	2020-05-27 19:21:26.986	error	(394) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49
    javascript.0	2020-05-27 19:21:26.986	error	(394) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-05-27 19:21:26.986	error	(394) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:580:17
    javascript.0	2020-05-27 19:21:26.986	error	(394) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1055:17
    javascript.0	2020-05-27 19:21:26.986	error	(394) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1464:17
    javascript.0	2020-05-27 19:21:26.985	error	(394) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1411:37)
    javascript.0	2020-05-27 19:21:26.985	error	(394) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:1188:28)
    javascript.0	2020-05-27 19:21:26.985	error	(394) at Object.createScript (vm.js:263:10)
    javascript.0	2020-05-27 19:21:26.985	error	(394) at new Script (vm.js:88:7)
    javascript.0	2020-05-27 19:21:26.985	error	(394) SyntaxError: Unexpected token 'function'
    javascript.0	2020-05-27 19:21:26.984	error	(394) ^^^^^^^^
    javascript.0	2020-05-27 19:21:26.984	error	(394) function(obj) {
    javascript.0	2020-05-27 19:21:26.984	error	at script.js.common.Test.Stromkosten_Gesamt:13
    javascript.0	2020-05-27 19:21:26.984	error	(394) script.js.common.Test.Stromkosten_Gesamt compile failed:
    javascript.0	2020-05-27 19:21:26.982	info	(394) Start javascript script.js.common.Test.Stromkosten_Gesamt
    javascript.0	2020-05-27 19:21:25.461	info	(394) Stop script script.js.common.Test.Stromkosten_Gesamt
    
    

  • @tigertim08 sagte:

    compile failed besteht weiter

    Es fehlen eine schließende geschweifte Klammer und ein Komma.

    on({id: /\.05_current_year$/, change: 'any'}, function(obj) {
    

    und in Zeile 23 eine schließende runde Klammer.

    });
    

  • @paul53 said in Summe aus verschiedenen Datenpunkte:

    });

    Super, Danke! Jetzt meckert er nur noch das ich einen string zu einem state assigne. Die Werte werden doch aber auch als State ausgegeben oder habe ich da einen Denkfehler?

    javascript.0	2020-05-28 08:25:30.653	warn	(394) at processImmediate (internal/timers.js:456:21)
    javascript.0	2020-05-28 08:25:30.653	warn	(394) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4851:37)
    javascript.0	2020-05-28 08:25:30.653	warn	(394) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:450:25)
    javascript.0	2020-05-28 08:25:30.652	warn	(394) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1051:38)
    javascript.0	2020-05-28 08:25:30.652	warn	(394) at Object.<anonymous> (script.js.common.Test.Stromkosten_Gesamt:22:5)
    javascript.0	2020-05-28 08:25:30.652	warn	(394) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1354:20)
    javascript.0	2020-05-28 08:25:30.651	warn	(394) You are assigning a string to the state "javascript.0.Stromkosten.2020.Summe" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning mig
    javascript.0	2020-05-28 08:25:30.651	info	(394) script.js.common.Test.Stromkosten_Gesamt: getState(id=sourceanalytix.0.hm-rpc__0__LEQ0536791__2__ENERGY_COUNTER.cost.05_current_year, timerId=undefined) => {"val":"1.88","ack":true,"ts":1590647
    javascript.0	2020-05-28 08:25:30.651	info	(394) script.js.common.Test.Stromkosten_Gesamt: getState(id=sourceanalytix.0.hm-rpc__0__MEQ0107335__2__ENERGY_COUNTER.cost.05_current_year, timerId=undefined) => {"val":"5.22","ack":true,"ts":1590647
    javascript.0	2020-05-28 08:25:30.650	info	(394) script.js.common.Test.Stromkosten_Gesamt: getState(id=sourceanalytix.0.hm-rpc__0__NEQ0153556__2__ENERGY_COUNTER.cost.05_current_year, timerId=undefined) => {"val":"0.00","ack":true,"ts":1590647
    javascript.0	2020-05-28 08:25:30.650	info	(394) script.js.common.Test.Stromkosten_Gesamt: getState(id=sourceanalytix.0.hm-rpc__0__NEQ0153678__2__ENERGY_COUNTER.cost.05_current_year, timerId=undefined) => {"val":"1.53","ack":true,"ts":1590647
    javascript.0	2020-05-28 08:25:30.650	info	(394) script.js.common.Test.Stromkosten_Gesamt: getState(id=sourceanalytix.0.sonoff__0__Tasmota_TV_Technik__ENERGY_Today.cost.05_current_year, timerId=undefined) => {"val":"0.00","ack":true,"ts":1590
    javascript.0	2020-05-28 08:25:30.649	info	(394) script.js.common.Test.Stromkosten_Gesamt: getState(id=sourceanalytix.0.sonoff__0__PC_Tim__ENERGY_Today.cost.05_current_year, timerId=undefined) => {"val":"0.01","ack":true,"ts":1590647120353,"q
    javascript.0	2020-05-28 08:25:30.649	info	(394) script.js.common.Test.Stromkosten_Gesamt: getState(id=sourceanalytix.0.sonoff__0__Wasserbett__ENERGY_Today.cost.05_current_year, timerId=undefined) => {"val":"0.01","ack":true,"ts":159064712735
    javascript.0	2020-05-28 08:25:29.695	info	(394) script.js.common.Test.Stromkosten_Gesamt: registered 1 subscription and 0 schedules
    javascript.0	2020-05-28 08:25:29.695	info	(394) script.js.common.Test.Stromkosten_Gesamt: subscribe: {"pattern":{"id":{},"change":"any","q":0},"name":"script.js.common.Test.Stromkosten_Gesamt"}
    
  • Forum Testing Most Active Global Moderator Administrators

    @tigertim08 sagte in Summe aus verschiedenen Datenpunkte:

    You are assigning a string to the state "javascript.0.Stromkosten.2020.Summe" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning mig

    Dein Datenpunkt ist vom Typ "Logikwert"
    Der muss "Zahl" sein


  • laut Datenpunkt ist er das. Habe ihn auch nochmal gelöscht und fom Skript anlegen lassen

    var idSumme = 'javascript.0.Stromkosten.2020.Summe';
    {1}
    createState(idSumme,  { 
        name: 'Summe aller Verbraucher',
        unit: '€',
        type: 'number',
        def:  0,
        min: 0
    });
    on({id: /\.05_current_year$/,
        change: 'any'},
    
    function(obj) {
        var a = getState('sourceanalytix.0.sonoff__0__Wasserbett__ENERGY_Today.cost.05_current_year').val,
            b = getState('sourceanalytix.0.sonoff__0__PC_Tim__ENERGY_Today.cost.05_current_year').val,
            c = getState('sourceanalytix.0.sonoff__0__Tasmota_TV_Technik__ENERGY_Today.cost.05_current_year').val,
            d = getState('sourceanalytix.0.hm-rpc__0__NEQ0153678__2__ENERGY_COUNTER.cost.05_current_year').val,
            e = getState('sourceanalytix.0.hm-rpc__0__NEQ0153556__2__ENERGY_COUNTER.cost.05_current_year').val,
            f = getState('sourceanalytix.0.hm-rpc__0__MEQ0107335__2__ENERGY_COUNTER.cost.05_current_year').val,
            g = getState('sourceanalytix.0.hm-rpc__0__LEQ0536791__2__ENERGY_COUNTER.cost.05_current_year').val;
        var summe = a + b + c + d + e + f + g;
        setState(idSumme, summe);
    });
    
  • Forum Testing Most Active Global Moderator Administrators

    @tigertim08 sagte in Summe aus verschiedenen Datenpunkte:

    laut Datenpunkt ist er das.

    dann gilt wohl der erste Tei lder Meldung:

    You are assigning a string to the state "javascript.0.Stromkosten.2020.Summe" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning mig

    Also das Ergebnis nach Zahl wandeln


  • Wie ändere ich das denn? Hatte die einzelnen Datenpunkte schon gecheckt, diese sind auch als "number" klassifiziert.

    2020-05-28_13-29-25.png

    Kann es an der Unit liegen? Also das die Unit dazu führt das es bei der Folgeverarbeitung ein String und keine Nummer mehr ist?

  • Forum Testing Most Active Global Moderator Administrators

    @tigertim08 sagte in Summe aus verschiedenen Datenpunkte:

    Hatte die einzelnen Datenpunkte schon gecheckt,

    nicht die datenpunkte!

    Die Variable im Skript scheint Typ String zu sein


  • (gelöst) DANKE! Für die Unterstützung 🙂

    okay, also wenn ich den State umwandle sollte es gehen?

    var idSumme = 'javascript.0.Stromkosten.2020';
    {1}
    createState(idSumme,  { 
        name: 'Summe der Verbraucher',
        unit: '€',
        type: 'number',
        def:  0,
        min: 0
    });
    on({id: /\.05_current_year$/,
        change: 'any'},
    
    function(obj) {
        var a = parseFloat(getState('sourceanalytix.0.sonoff__0__Wasserbett__ENERGY_Today.cost.05_current_year').val),
            b = parseFloat(getState('sourceanalytix.0.sonoff__0__PC_Tim__ENERGY_Today.cost.05_current_year').val),
            c = parseFloat(getState('sourceanalytix.0.sonoff__0__Tasmota_TV_Technik__ENERGY_Today.cost.05_current_year').val),
            d = parseFloat(getState('sourceanalytix.0.hm-rpc__0__NEQ0153678__2__ENERGY_COUNTER.cost.05_current_year').val),
            e = parseFloat(getState('sourceanalytix.0.hm-rpc__0__NEQ0153556__2__ENERGY_COUNTER.cost.05_current_year').val),
            f = parseFloat(getState('sourceanalytix.0.hm-rpc__0__MEQ0107335__2__ENERGY_COUNTER.cost.05_current_year').val),
            g = parseFloat(getState('sourceanalytix.0.hm-rpc__0__LEQ0536791__2__ENERGY_COUNTER.cost.05_current_year').val);
        var summe = a + b + c + d + e + f + g;
        setState(idSumme, summe);
    });
    

    habe es mit parseFloat probiert allerdings bleibt jetzt der Datenpunkt leer. Warnmeldungen werden mir aber nicht mehr angezeit.


  • @tigertim08

    Werfe mal das parseFloat() raus und füge:

    log('a: '+a);
    log('b: '+b);
    log('c: '+c);
    log('d: '+d);
    log('e: '+e);
    log('f: '+f);
    log('g: '+g);
    

    nach Zeile 20 ein. Poste die Logeinträge. Denke mal das es ein Problem mit ".," oder Einheitenangaben ist.

Suggested Topics

1.8k
Online

37.0k
Users

42.7k
Topics

592.8k
Posts