Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Betriebsstundenzähler & Verbrauchsrechner

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    343

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

[Vorlage] Betriebsstundenzähler & Verbrauchsrechner

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
333 Beiträge 51 Kommentatoren 93.5k Aufrufe 26 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Offline
    A Offline
    ahfreezer
    schrieb am zuletzt editiert von
    #293

    Hi Loxxer,

    versuche zum 3. Mal das Skript ans Laufen zu bekommen. Außer zig Fehlermeldungen passiert haber nichts.

    Ich nutze ein HM Türsensor um den Gasverbrauch zu messen.
    Den Sensor habe ich wie folgt im Skript hinterlegt.

    Mehr Daten habe ich im Skript nicht geändert.

    var Gruppen = [];
    //              1.Homematic ID,                    2.Thema(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
    Gruppen[ 0]  = ['hm-rpc.0.NEQ1678963'                    ,'HM_Gas_ping'                      ,true  ,true  ,true  ,true    ,true  ,true      ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
    
    
    var logname = [];
    //              Stat1           Stat2       Stat3       Stat4               Stat5       Stat6       Stat7       Stat8   Stat9   Stat10
    logname[0]  =   ['Zaehler'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
    
    var special = [];
    //             1.Round 2.add1   3.Faktor                4. Divisor  5.add2  6.Individuallogik  7: DELTA(M)Grenze    8.Warten auf Bestaetigung  9.Durchschnitt - 10.Zaehlschwelle     11 Schedule    12. Min/MAX     13. MehrfachStatus  14. Selektives Logging
    special[0]  =   ['2'     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ]; 
    
    

    Ich bekomme folgende Fehlermeldung wenn ich das Skript starte:

    18.3.2019, 08:19:59.930	[info ]: javascript.0 Stop script script.js.common.Testskripte.Betriebsstundenzähler
    18.3.2019, 08:20:04.207	[info ]: javascript.0 Start javascript script.js.common.Testskripte.Betriebsstundenzähler
    18.3.2019, 08:20:04.208	[error]: javascript.0 script.js.common.Testskripte.Betriebsstundenzähler compile failed:
    at script.js.common.Testskripte.Betriebsstundenzähler:293
    

    Mein Log von ioBroker überschlägt sich dann

    javascript.0	2019-03-18 08:24:27.948	error	at TCP.onread (net.js:559:20)
    javascript.0	2019-03-18 08:24:27.947	error	at Socket.Readable.push (_stream_readable.js:134:10)
    javascript.0	2019-03-18 08:24:27.947	error	at readableAddChunk (_stream_readable.js:176:18)
    javascript.0	2019-03-18 08:24:27.947	error	at Socket.emit (events.js:188:7)
    javascript.0	2019-03-18 08:24:27.946	error	at emitOne (events.js:96:13)
    javascript.0	2019-03-18 08:24:27.946	error	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
    javascript.0	2019-03-18 08:24:27.946	error	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
    javascript.0	2019-03-18 08:24:27.945	error	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
    javascript.0	2019-03-18 08:24:27.945	error	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
    javascript.0	2019-03-18 08:24:27.944	error	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
    javascript.0	2019-03-18 08:24:27.944	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
    javascript.0	2019-03-18 08:24:27.943	error	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
    javascript.0	2019-03-18 08:24:27.943	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
    javascript.0	2019-03-18 08:24:27.942	error	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
    javascript.0	2019-03-18 08:24:27.942	error	at WebSocket.emit (events.js:191:7)
    javascript.0	2019-03-18 08:24:27.942	error	at emitTwo (events.js:106:13)
    javascript.0	2019-03-18 08:24:27.941	error	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
    javascript.0	2019-03-18 08:24:27.941	error	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
    javascript.0	2019-03-18 08:24:27.940	error	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
    javascript.0	2019-03-18 08:24:27.940	error	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
    javascript.0	2019-03-18 08:24:27.939	error	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-18 08:24:27.939	error	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
    javascript.0	2019-03-18 08:24:27.938	error	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
    javascript.0	2019-03-18 08:24:27.938	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-18 08:24:27.937	error	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-18 08:24:27.937	error	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
    javascript.0	2019-03-18 08:24:27.936	error	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
    javascript.0	2019-03-18 08:24:27.936	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
    javascript.0	2019-03-18 08:24:27.935	error	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-18 08:24:27.935	error	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
    javascript.0	2019-03-18 08:24:27.935	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-18 08:24:27.934	error	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-18 08:24:27.934	error	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12)
    javascript.0	2019-03-18 08:24:27.933	error	at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
    javascript.0	2019-03-18 08:24:27.933	error	at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:745:17)
    javascript.0	2019-03-18 08:24:27.932	error	at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1123:17)
    javascript.0	2019-03-18 08:24:27.932	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1070:37)
    javascript.0	2019-03-18 08:24:27.931	error	at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:878:28)
    javascript.0	2019-03-18 08:24:27.931	error	at Object.createScript (vm.js:56:10)
    javascript.0	2019-03-18 08:24:27.931	error	SyntaxError: Unexpected token ;
    javascript.0	2019-03-18 08:24:27.930	error	zaehler &lt; zaehler_array; zaehler++) { // addiere eins für jeden Druchgang zaehler2 = addZero(zaehler).zero2; // fuehrende Null // zusammenbauen von // /BSZ/SYSTEM/GRP00KUM = Kumuliert
    javascript.0	2019-03-18 08:24:27.929	error	at script.js.common.Testskripte.Betriebsstundenzaehler:293
    javascript.0	2019-03-18 08:24:27.929	error	script.js.common.Testskripte.Betriebsstundenzaehler compile failed:
    

    Kannst du mir weiterhelfen? Ich würde vermuten, es ist ne Kleinigkeit die ich hier falsch mache...ich komme nur leider nicht drauf.

    Gruß
    André

    A K 2 Antworten Letzte Antwort
    0
    • A ahfreezer

      Hi Loxxer,

      versuche zum 3. Mal das Skript ans Laufen zu bekommen. Außer zig Fehlermeldungen passiert haber nichts.

      Ich nutze ein HM Türsensor um den Gasverbrauch zu messen.
      Den Sensor habe ich wie folgt im Skript hinterlegt.

      Mehr Daten habe ich im Skript nicht geändert.

      var Gruppen = [];
      //              1.Homematic ID,                    2.Thema(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
      Gruppen[ 0]  = ['hm-rpc.0.NEQ1678963'                    ,'HM_Gas_ping'                      ,true  ,true  ,true  ,true    ,true  ,true      ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
      
      
      var logname = [];
      //              Stat1           Stat2       Stat3       Stat4               Stat5       Stat6       Stat7       Stat8   Stat9   Stat10
      logname[0]  =   ['Zaehler'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      
      var special = [];
      //             1.Round 2.add1   3.Faktor                4. Divisor  5.add2  6.Individuallogik  7: DELTA(M)Grenze    8.Warten auf Bestaetigung  9.Durchschnitt - 10.Zaehlschwelle     11 Schedule    12. Min/MAX     13. MehrfachStatus  14. Selektives Logging
      special[0]  =   ['2'     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ]; 
      
      

      Ich bekomme folgende Fehlermeldung wenn ich das Skript starte:

      18.3.2019, 08:19:59.930	[info ]: javascript.0 Stop script script.js.common.Testskripte.Betriebsstundenzähler
      18.3.2019, 08:20:04.207	[info ]: javascript.0 Start javascript script.js.common.Testskripte.Betriebsstundenzähler
      18.3.2019, 08:20:04.208	[error]: javascript.0 script.js.common.Testskripte.Betriebsstundenzähler compile failed:
      at script.js.common.Testskripte.Betriebsstundenzähler:293
      

      Mein Log von ioBroker überschlägt sich dann

      javascript.0	2019-03-18 08:24:27.948	error	at TCP.onread (net.js:559:20)
      javascript.0	2019-03-18 08:24:27.947	error	at Socket.Readable.push (_stream_readable.js:134:10)
      javascript.0	2019-03-18 08:24:27.947	error	at readableAddChunk (_stream_readable.js:176:18)
      javascript.0	2019-03-18 08:24:27.947	error	at Socket.emit (events.js:188:7)
      javascript.0	2019-03-18 08:24:27.946	error	at emitOne (events.js:96:13)
      javascript.0	2019-03-18 08:24:27.946	error	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
      javascript.0	2019-03-18 08:24:27.946	error	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
      javascript.0	2019-03-18 08:24:27.945	error	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
      javascript.0	2019-03-18 08:24:27.945	error	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
      javascript.0	2019-03-18 08:24:27.944	error	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
      javascript.0	2019-03-18 08:24:27.944	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
      javascript.0	2019-03-18 08:24:27.943	error	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
      javascript.0	2019-03-18 08:24:27.943	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
      javascript.0	2019-03-18 08:24:27.942	error	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
      javascript.0	2019-03-18 08:24:27.942	error	at WebSocket.emit (events.js:191:7)
      javascript.0	2019-03-18 08:24:27.942	error	at emitTwo (events.js:106:13)
      javascript.0	2019-03-18 08:24:27.941	error	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
      javascript.0	2019-03-18 08:24:27.941	error	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
      javascript.0	2019-03-18 08:24:27.940	error	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
      javascript.0	2019-03-18 08:24:27.940	error	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
      javascript.0	2019-03-18 08:24:27.939	error	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
      javascript.0	2019-03-18 08:24:27.939	error	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
      javascript.0	2019-03-18 08:24:27.938	error	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
      javascript.0	2019-03-18 08:24:27.938	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
      javascript.0	2019-03-18 08:24:27.937	error	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
      javascript.0	2019-03-18 08:24:27.937	error	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
      javascript.0	2019-03-18 08:24:27.936	error	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
      javascript.0	2019-03-18 08:24:27.936	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
      javascript.0	2019-03-18 08:24:27.935	error	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
      javascript.0	2019-03-18 08:24:27.935	error	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
      javascript.0	2019-03-18 08:24:27.935	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
      javascript.0	2019-03-18 08:24:27.934	error	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
      javascript.0	2019-03-18 08:24:27.934	error	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12)
      javascript.0	2019-03-18 08:24:27.933	error	at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
      javascript.0	2019-03-18 08:24:27.933	error	at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:745:17)
      javascript.0	2019-03-18 08:24:27.932	error	at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1123:17)
      javascript.0	2019-03-18 08:24:27.932	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1070:37)
      javascript.0	2019-03-18 08:24:27.931	error	at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:878:28)
      javascript.0	2019-03-18 08:24:27.931	error	at Object.createScript (vm.js:56:10)
      javascript.0	2019-03-18 08:24:27.931	error	SyntaxError: Unexpected token ;
      javascript.0	2019-03-18 08:24:27.930	error	zaehler &lt; zaehler_array; zaehler++) { // addiere eins für jeden Druchgang zaehler2 = addZero(zaehler).zero2; // fuehrende Null // zusammenbauen von // /BSZ/SYSTEM/GRP00KUM = Kumuliert
      javascript.0	2019-03-18 08:24:27.929	error	at script.js.common.Testskripte.Betriebsstundenzaehler:293
      javascript.0	2019-03-18 08:24:27.929	error	script.js.common.Testskripte.Betriebsstundenzaehler compile failed:
      

      Kannst du mir weiterhelfen? Ich würde vermuten, es ist ne Kleinigkeit die ich hier falsch mache...ich komme nur leider nicht drauf.

      Gruß
      André

      A Offline
      A Offline
      ahfreezer
      schrieb am zuletzt editiert von
      #294

      @ahfreezer sagte in [Vorlage] Generischer Betriebsstundenzähler und Verbrauchsrechner - Script:

      Hi Loxxer,

      versuche zum 3. Mal das Skript ans Laufen zu bekommen. Außer zig Fehlermeldungen passiert haber nichts.

      Ich nutze ein HM Türsensor um den Gasverbrauch zu messen.
      Den Sensor habe ich wie folgt im Skript hinterlegt.

      Mehr Daten habe ich im Skript nicht geändert.

      var Gruppen = [];
      //              1.Homematic ID,                    2.Thema(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
      Gruppen[ 0]  = ['hm-rpc.0.NEQ1678963'                    ,'HM_Gas_ping'                      ,true  ,true  ,true  ,true    ,true  ,true      ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
      
      
      var logname = [];
      //              Stat1           Stat2       Stat3       Stat4               Stat5       Stat6       Stat7       Stat8   Stat9   Stat10
      logname[0]  =   ['Zaehler'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      
      var special = [];
      //             1.Round 2.add1   3.Faktor                4. Divisor  5.add2  6.Individuallogik  7: DELTA(M)Grenze    8.Warten auf Bestaetigung  9.Durchschnitt - 10.Zaehlschwelle     11 Schedule    12. Min/MAX     13. MehrfachStatus  14. Selektives Logging
      special[0]  =   ['2'     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ]; 
      
      

      Ich bekomme folgende Fehlermeldung wenn ich das Skript starte:

      18.3.2019, 08:19:59.930	[info ]: javascript.0 Stop script script.js.common.Testskripte.Betriebsstundenzähler
      18.3.2019, 08:20:04.207	[info ]: javascript.0 Start javascript script.js.common.Testskripte.Betriebsstundenzähler
      18.3.2019, 08:20:04.208	[error]: javascript.0 script.js.common.Testskripte.Betriebsstundenzähler compile failed:
      at script.js.common.Testskripte.Betriebsstundenzähler:293
      

      Mein Log von ioBroker überschlägt sich dann

      javascript.0	2019-03-18 08:24:27.948	error	at TCP.onread (net.js:559:20)
      javascript.0	2019-03-18 08:24:27.947	error	at Socket.Readable.push (_stream_readable.js:134:10)
      javascript.0	2019-03-18 08:24:27.947	error	at readableAddChunk (_stream_readable.js:176:18)
      javascript.0	2019-03-18 08:24:27.947	error	at Socket.emit (events.js:188:7)
      javascript.0	2019-03-18 08:24:27.946	error	at emitOne (events.js:96:13)
      javascript.0	2019-03-18 08:24:27.946	error	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
      javascript.0	2019-03-18 08:24:27.946	error	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
      javascript.0	2019-03-18 08:24:27.945	error	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
      javascript.0	2019-03-18 08:24:27.945	error	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
      javascript.0	2019-03-18 08:24:27.944	error	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
      javascript.0	2019-03-18 08:24:27.944	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
      javascript.0	2019-03-18 08:24:27.943	error	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
      javascript.0	2019-03-18 08:24:27.943	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
      javascript.0	2019-03-18 08:24:27.942	error	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
      javascript.0	2019-03-18 08:24:27.942	error	at WebSocket.emit (events.js:191:7)
      javascript.0	2019-03-18 08:24:27.942	error	at emitTwo (events.js:106:13)
      javascript.0	2019-03-18 08:24:27.941	error	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
      javascript.0	2019-03-18 08:24:27.941	error	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
      javascript.0	2019-03-18 08:24:27.940	error	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
      javascript.0	2019-03-18 08:24:27.940	error	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
      javascript.0	2019-03-18 08:24:27.939	error	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
      javascript.0	2019-03-18 08:24:27.939	error	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
      javascript.0	2019-03-18 08:24:27.938	error	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
      javascript.0	2019-03-18 08:24:27.938	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
      javascript.0	2019-03-18 08:24:27.937	error	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
      javascript.0	2019-03-18 08:24:27.937	error	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
      javascript.0	2019-03-18 08:24:27.936	error	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
      javascript.0	2019-03-18 08:24:27.936	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
      javascript.0	2019-03-18 08:24:27.935	error	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
      javascript.0	2019-03-18 08:24:27.935	error	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
      javascript.0	2019-03-18 08:24:27.935	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
      javascript.0	2019-03-18 08:24:27.934	error	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
      javascript.0	2019-03-18 08:24:27.934	error	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12)
      javascript.0	2019-03-18 08:24:27.933	error	at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
      javascript.0	2019-03-18 08:24:27.933	error	at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:745:17)
      javascript.0	2019-03-18 08:24:27.932	error	at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1123:17)
      javascript.0	2019-03-18 08:24:27.932	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1070:37)
      javascript.0	2019-03-18 08:24:27.931	error	at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:878:28)
      javascript.0	2019-03-18 08:24:27.931	error	at Object.createScript (vm.js:56:10)
      javascript.0	2019-03-18 08:24:27.931	error	SyntaxError: Unexpected token ;
      javascript.0	2019-03-18 08:24:27.930	error	zaehler &lt; zaehler_array; zaehler++) { // addiere eins für jeden Druchgang zaehler2 = addZero(zaehler).zero2; // fuehrende Null // zusammenbauen von // /BSZ/SYSTEM/GRP00KUM = Kumuliert
      javascript.0	2019-03-18 08:24:27.929	error	at script.js.common.Testskripte.Betriebsstundenzaehler:293
      javascript.0	2019-03-18 08:24:27.929	error	script.js.common.Testskripte.Betriebsstundenzaehler compile failed:
      

      Kannst du mir weiterhelfen? Ich würde vermuten, es ist ne Kleinigkeit die ich hier falsch mache...ich komme nur leider nicht drauf.

      Gruß
      André

      @looxer01 : kleiner Ping hier im Thread. Vlt. eine Idee an welcher Stelle ich den Betriebsstundenzähler falsch konfiguriert habe?

      VG

      dsiggiD 1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        steinkuhl
        schrieb am zuletzt editiert von
        #295

        Hallo alle miteinander,

        dieses Script ist genau das, was mir viele Aufgaben gleichzeitig abnimmt, super !!!

        Ich möchte folgendes realisieren:

        es werden s0-Impulse vom Strom-Verbrauchszähler (75 Imp./KWh), PV-Erzeugungszähler (600 Imp./KWh), Wasserverbrauchszähler (1 Imp./L) und vom Gasverbrauchszähler (100 Imp./qbm) von einer SPS erfasst und per Modbus-TCP an IOBroker übertragen.

        Ich habe die Möglichkeit, jeden Impuls von jedem Zähler direkt zu übertragen oder die Umrechnung auf die jeweilige Wertigkeit direkt in der SPS zu machen.

        Meine Frage ist: welche Methode ist die für das Script die bessere ? Und wie trage ich die Impulswertigkeit (bei Übertragung der Direktimpulse) in das Script ein ?

        Ich hänge meine Eintragungen mal an:

        var Gruppen = [];
        //              1.Homematic ID,                    2.Feldname(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
        Gruppen[0] = ['modbus.6.holdingRegisters.40400_X11_1' ,'Strom-Bezug'                          ,true  ,true   ,true   ,true   ,true   ,true   ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Stromverbrauchserfassung 
        Gruppen[1] = ['modbus.6.holdingRegisters.40401_X11_2' ,'Strom-Lieferung'                      ,true   ,true   ,true   ,true   ,true   ,true  ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Stromlieferungserfassung
        Gruppen[2] = ['modbus.6.holdingRegisters.40402_X11_3' ,'Wasser-Verbrauch'                     ,true   ,true   ,true   ,true   ,true   ,true  ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Wasserverbrauchserfassung
        Gruppen[3] = ['modbus.6.holdingRegisters.40403_X11_4' ,'Gas-Verbrauch'                        ,true  ,true  ,true  ,true  ,true  ,true  ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Gasverbrauchserfassung
        
        var logname = [];
        //              Stat1           Stat2       Stat3       Stat4               Stat5       Stat6       Stat7       Stat8   Stat9   Stat10
        logname[0]  =   ['Stromverbrauch' ,''        ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
        logname[1]  =   ['Stromlieferung' ,''        ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
        logname[2]  =   ['Wasserverbrauch' ,''       ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
        logname[3]  =   ['Gasverbrauch'  ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
        
        var special = [];
        
        //             1.Round 2.add1   3.Faktor                4. Divisor  5.add2  6.Individuallogik  7: DELTA(M)Grenze    8.Frei  9.Durchschnitt - 10.Zaehlschwelle     11 Schedule    12. Min/MAX     13. MehrfachStatus  14. Selektives Logging
        special[0]  =  ['3'     ,''     ,'75'                        ,''       ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,'true'  ]; // Stromverbrauch in KWh
        special[1]  =  ['3'     ,''    ,'600'                        ,''      ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,'true'  ]; // Stromlieferung in KWh
        special[2]  =  ['3'    ,''     ,'1000'                        ,''     ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,'true'      ]; // Wasserverbrauch in L
        special[3]  =  ['3'    ,''     ,'0.01'                        ,''        ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,'true'      ]; // Gasverbrauch in QBM
        

        Vielen Dank im voraus !

        S 1 Antwort Letzte Antwort
        0
        • S steinkuhl

          Hallo alle miteinander,

          dieses Script ist genau das, was mir viele Aufgaben gleichzeitig abnimmt, super !!!

          Ich möchte folgendes realisieren:

          es werden s0-Impulse vom Strom-Verbrauchszähler (75 Imp./KWh), PV-Erzeugungszähler (600 Imp./KWh), Wasserverbrauchszähler (1 Imp./L) und vom Gasverbrauchszähler (100 Imp./qbm) von einer SPS erfasst und per Modbus-TCP an IOBroker übertragen.

          Ich habe die Möglichkeit, jeden Impuls von jedem Zähler direkt zu übertragen oder die Umrechnung auf die jeweilige Wertigkeit direkt in der SPS zu machen.

          Meine Frage ist: welche Methode ist die für das Script die bessere ? Und wie trage ich die Impulswertigkeit (bei Übertragung der Direktimpulse) in das Script ein ?

          Ich hänge meine Eintragungen mal an:

          var Gruppen = [];
          //              1.Homematic ID,                    2.Feldname(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
          Gruppen[0] = ['modbus.6.holdingRegisters.40400_X11_1' ,'Strom-Bezug'                          ,true  ,true   ,true   ,true   ,true   ,true   ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Stromverbrauchserfassung 
          Gruppen[1] = ['modbus.6.holdingRegisters.40401_X11_2' ,'Strom-Lieferung'                      ,true   ,true   ,true   ,true   ,true   ,true  ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Stromlieferungserfassung
          Gruppen[2] = ['modbus.6.holdingRegisters.40402_X11_3' ,'Wasser-Verbrauch'                     ,true   ,true   ,true   ,true   ,true   ,true  ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Wasserverbrauchserfassung
          Gruppen[3] = ['modbus.6.holdingRegisters.40403_X11_4' ,'Gas-Verbrauch'                        ,true  ,true  ,true  ,true  ,true  ,true  ,'delta' ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; // Gasverbrauchserfassung
          
          var logname = [];
          //              Stat1           Stat2       Stat3       Stat4               Stat5       Stat6       Stat7       Stat8   Stat9   Stat10
          logname[0]  =   ['Stromverbrauch' ,''        ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
          logname[1]  =   ['Stromlieferung' ,''        ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
          logname[2]  =   ['Wasserverbrauch' ,''       ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
          logname[3]  =   ['Gasverbrauch'  ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
          
          var special = [];
          
          //             1.Round 2.add1   3.Faktor                4. Divisor  5.add2  6.Individuallogik  7: DELTA(M)Grenze    8.Frei  9.Durchschnitt - 10.Zaehlschwelle     11 Schedule    12. Min/MAX     13. MehrfachStatus  14. Selektives Logging
          special[0]  =  ['3'     ,''     ,'75'                        ,''       ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,'true'  ]; // Stromverbrauch in KWh
          special[1]  =  ['3'     ,''    ,'600'                        ,''      ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,'true'  ]; // Stromlieferung in KWh
          special[2]  =  ['3'    ,''     ,'1000'                        ,''     ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,'true'      ]; // Wasserverbrauch in L
          special[3]  =  ['3'    ,''     ,'0.01'                        ,''        ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,'true'      ]; // Gasverbrauch in QBM
          

          Vielen Dank im voraus !

          S Offline
          S Offline
          steinkuhl
          schrieb am zuletzt editiert von
          #296

          @steinkuhl HAllo alle miteinander,

          ich habe es selber zum funktionieren gebracht, die Parameter der Zähler müssen bei Divisor hinein, nicht bei Faktor, jetzt läufts, super Sache.

          Gruß Rainer

          1 Antwort Letzte Antwort
          0
          • A ahfreezer

            Hi Loxxer,

            versuche zum 3. Mal das Skript ans Laufen zu bekommen. Außer zig Fehlermeldungen passiert haber nichts.

            Ich nutze ein HM Türsensor um den Gasverbrauch zu messen.
            Den Sensor habe ich wie folgt im Skript hinterlegt.

            Mehr Daten habe ich im Skript nicht geändert.

            var Gruppen = [];
            //              1.Homematic ID,                    2.Thema(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
            Gruppen[ 0]  = ['hm-rpc.0.NEQ1678963'                    ,'HM_Gas_ping'                      ,true  ,true  ,true  ,true    ,true  ,true      ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
            
            
            var logname = [];
            //              Stat1           Stat2       Stat3       Stat4               Stat5       Stat6       Stat7       Stat8   Stat9   Stat10
            logname[0]  =   ['Zaehler'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
            
            var special = [];
            //             1.Round 2.add1   3.Faktor                4. Divisor  5.add2  6.Individuallogik  7: DELTA(M)Grenze    8.Warten auf Bestaetigung  9.Durchschnitt - 10.Zaehlschwelle     11 Schedule    12. Min/MAX     13. MehrfachStatus  14. Selektives Logging
            special[0]  =   ['2'     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ]; 
            
            

            Ich bekomme folgende Fehlermeldung wenn ich das Skript starte:

            18.3.2019, 08:19:59.930	[info ]: javascript.0 Stop script script.js.common.Testskripte.Betriebsstundenzähler
            18.3.2019, 08:20:04.207	[info ]: javascript.0 Start javascript script.js.common.Testskripte.Betriebsstundenzähler
            18.3.2019, 08:20:04.208	[error]: javascript.0 script.js.common.Testskripte.Betriebsstundenzähler compile failed:
            at script.js.common.Testskripte.Betriebsstundenzähler:293
            

            Mein Log von ioBroker überschlägt sich dann

            javascript.0	2019-03-18 08:24:27.948	error	at TCP.onread (net.js:559:20)
            javascript.0	2019-03-18 08:24:27.947	error	at Socket.Readable.push (_stream_readable.js:134:10)
            javascript.0	2019-03-18 08:24:27.947	error	at readableAddChunk (_stream_readable.js:176:18)
            javascript.0	2019-03-18 08:24:27.947	error	at Socket.emit (events.js:188:7)
            javascript.0	2019-03-18 08:24:27.946	error	at emitOne (events.js:96:13)
            javascript.0	2019-03-18 08:24:27.946	error	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
            javascript.0	2019-03-18 08:24:27.946	error	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
            javascript.0	2019-03-18 08:24:27.945	error	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
            javascript.0	2019-03-18 08:24:27.945	error	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
            javascript.0	2019-03-18 08:24:27.944	error	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
            javascript.0	2019-03-18 08:24:27.944	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
            javascript.0	2019-03-18 08:24:27.943	error	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
            javascript.0	2019-03-18 08:24:27.943	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
            javascript.0	2019-03-18 08:24:27.942	error	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
            javascript.0	2019-03-18 08:24:27.942	error	at WebSocket.emit (events.js:191:7)
            javascript.0	2019-03-18 08:24:27.942	error	at emitTwo (events.js:106:13)
            javascript.0	2019-03-18 08:24:27.941	error	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
            javascript.0	2019-03-18 08:24:27.941	error	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
            javascript.0	2019-03-18 08:24:27.940	error	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
            javascript.0	2019-03-18 08:24:27.940	error	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
            javascript.0	2019-03-18 08:24:27.939	error	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
            javascript.0	2019-03-18 08:24:27.939	error	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
            javascript.0	2019-03-18 08:24:27.938	error	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
            javascript.0	2019-03-18 08:24:27.938	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
            javascript.0	2019-03-18 08:24:27.937	error	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
            javascript.0	2019-03-18 08:24:27.937	error	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
            javascript.0	2019-03-18 08:24:27.936	error	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
            javascript.0	2019-03-18 08:24:27.936	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
            javascript.0	2019-03-18 08:24:27.935	error	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
            javascript.0	2019-03-18 08:24:27.935	error	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
            javascript.0	2019-03-18 08:24:27.935	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
            javascript.0	2019-03-18 08:24:27.934	error	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
            javascript.0	2019-03-18 08:24:27.934	error	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12)
            javascript.0	2019-03-18 08:24:27.933	error	at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
            javascript.0	2019-03-18 08:24:27.933	error	at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:745:17)
            javascript.0	2019-03-18 08:24:27.932	error	at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1123:17)
            javascript.0	2019-03-18 08:24:27.932	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1070:37)
            javascript.0	2019-03-18 08:24:27.931	error	at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:878:28)
            javascript.0	2019-03-18 08:24:27.931	error	at Object.createScript (vm.js:56:10)
            javascript.0	2019-03-18 08:24:27.931	error	SyntaxError: Unexpected token ;
            javascript.0	2019-03-18 08:24:27.930	error	zaehler &lt; zaehler_array; zaehler++) { // addiere eins für jeden Druchgang zaehler2 = addZero(zaehler).zero2; // fuehrende Null // zusammenbauen von // /BSZ/SYSTEM/GRP00KUM = Kumuliert
            javascript.0	2019-03-18 08:24:27.929	error	at script.js.common.Testskripte.Betriebsstundenzaehler:293
            javascript.0	2019-03-18 08:24:27.929	error	script.js.common.Testskripte.Betriebsstundenzaehler compile failed:
            

            Kannst du mir weiterhelfen? Ich würde vermuten, es ist ne Kleinigkeit die ich hier falsch mache...ich komme nur leider nicht drauf.

            Gruß
            André

            K Offline
            K Offline
            Kalle
            schrieb am zuletzt editiert von
            #297

            @ahfreezer Moin, hast du zu diesem Problem eine Lösung gefunden? Habe diese Fehlermeldung und sehr ähnliche Logeinträge seit gestern bei allen Scripten?
            LG Marcel

            1 Antwort Letzte Antwort
            0
            • A ahfreezer

              @ahfreezer sagte in [Vorlage] Generischer Betriebsstundenzähler und Verbrauchsrechner - Script:

              Hi Loxxer,

              versuche zum 3. Mal das Skript ans Laufen zu bekommen. Außer zig Fehlermeldungen passiert haber nichts.

              Ich nutze ein HM Türsensor um den Gasverbrauch zu messen.
              Den Sensor habe ich wie folgt im Skript hinterlegt.

              Mehr Daten habe ich im Skript nicht geändert.

              var Gruppen = [];
              //              1.Homematic ID,                    2.Thema(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
              Gruppen[ 0]  = ['hm-rpc.0.NEQ1678963'                    ,'HM_Gas_ping'                      ,true  ,true  ,true  ,true    ,true  ,true      ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
              
              
              var logname = [];
              //              Stat1           Stat2       Stat3       Stat4               Stat5       Stat6       Stat7       Stat8   Stat9   Stat10
              logname[0]  =   ['Zaehler'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
              
              var special = [];
              //             1.Round 2.add1   3.Faktor                4. Divisor  5.add2  6.Individuallogik  7: DELTA(M)Grenze    8.Warten auf Bestaetigung  9.Durchschnitt - 10.Zaehlschwelle     11 Schedule    12. Min/MAX     13. MehrfachStatus  14. Selektives Logging
              special[0]  =   ['2'     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ]; 
              
              

              Ich bekomme folgende Fehlermeldung wenn ich das Skript starte:

              18.3.2019, 08:19:59.930	[info ]: javascript.0 Stop script script.js.common.Testskripte.Betriebsstundenzähler
              18.3.2019, 08:20:04.207	[info ]: javascript.0 Start javascript script.js.common.Testskripte.Betriebsstundenzähler
              18.3.2019, 08:20:04.208	[error]: javascript.0 script.js.common.Testskripte.Betriebsstundenzähler compile failed:
              at script.js.common.Testskripte.Betriebsstundenzähler:293
              

              Mein Log von ioBroker überschlägt sich dann

              javascript.0	2019-03-18 08:24:27.948	error	at TCP.onread (net.js:559:20)
              javascript.0	2019-03-18 08:24:27.947	error	at Socket.Readable.push (_stream_readable.js:134:10)
              javascript.0	2019-03-18 08:24:27.947	error	at readableAddChunk (_stream_readable.js:176:18)
              javascript.0	2019-03-18 08:24:27.947	error	at Socket.emit (events.js:188:7)
              javascript.0	2019-03-18 08:24:27.946	error	at emitOne (events.js:96:13)
              javascript.0	2019-03-18 08:24:27.946	error	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
              javascript.0	2019-03-18 08:24:27.946	error	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
              javascript.0	2019-03-18 08:24:27.945	error	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
              javascript.0	2019-03-18 08:24:27.945	error	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
              javascript.0	2019-03-18 08:24:27.944	error	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
              javascript.0	2019-03-18 08:24:27.944	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
              javascript.0	2019-03-18 08:24:27.943	error	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
              javascript.0	2019-03-18 08:24:27.943	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
              javascript.0	2019-03-18 08:24:27.942	error	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
              javascript.0	2019-03-18 08:24:27.942	error	at WebSocket.emit (events.js:191:7)
              javascript.0	2019-03-18 08:24:27.942	error	at emitTwo (events.js:106:13)
              javascript.0	2019-03-18 08:24:27.941	error	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
              javascript.0	2019-03-18 08:24:27.941	error	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
              javascript.0	2019-03-18 08:24:27.940	error	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
              javascript.0	2019-03-18 08:24:27.940	error	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
              javascript.0	2019-03-18 08:24:27.939	error	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
              javascript.0	2019-03-18 08:24:27.939	error	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
              javascript.0	2019-03-18 08:24:27.938	error	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
              javascript.0	2019-03-18 08:24:27.938	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
              javascript.0	2019-03-18 08:24:27.937	error	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
              javascript.0	2019-03-18 08:24:27.937	error	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
              javascript.0	2019-03-18 08:24:27.936	error	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
              javascript.0	2019-03-18 08:24:27.936	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
              javascript.0	2019-03-18 08:24:27.935	error	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
              javascript.0	2019-03-18 08:24:27.935	error	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
              javascript.0	2019-03-18 08:24:27.935	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
              javascript.0	2019-03-18 08:24:27.934	error	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
              javascript.0	2019-03-18 08:24:27.934	error	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12)
              javascript.0	2019-03-18 08:24:27.933	error	at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
              javascript.0	2019-03-18 08:24:27.933	error	at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:745:17)
              javascript.0	2019-03-18 08:24:27.932	error	at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1123:17)
              javascript.0	2019-03-18 08:24:27.932	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1070:37)
              javascript.0	2019-03-18 08:24:27.931	error	at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:878:28)
              javascript.0	2019-03-18 08:24:27.931	error	at Object.createScript (vm.js:56:10)
              javascript.0	2019-03-18 08:24:27.931	error	SyntaxError: Unexpected token ;
              javascript.0	2019-03-18 08:24:27.930	error	zaehler &lt; zaehler_array; zaehler++) { // addiere eins für jeden Druchgang zaehler2 = addZero(zaehler).zero2; // fuehrende Null // zusammenbauen von // /BSZ/SYSTEM/GRP00KUM = Kumuliert
              javascript.0	2019-03-18 08:24:27.929	error	at script.js.common.Testskripte.Betriebsstundenzaehler:293
              javascript.0	2019-03-18 08:24:27.929	error	script.js.common.Testskripte.Betriebsstundenzaehler compile failed:
              

              Kannst du mir weiterhelfen? Ich würde vermuten, es ist ne Kleinigkeit die ich hier falsch mache...ich komme nur leider nicht drauf.

              Gruß
              André

              @looxer01 : kleiner Ping hier im Thread. Vlt. eine Idee an welcher Stelle ich den Betriebsstundenzähler falsch konfiguriert habe?

              VG

              dsiggiD Offline
              dsiggiD Offline
              dsiggi
              schrieb am zuletzt editiert von dsiggi
              #298

              @ahfreezer @Kalle

              Ich denke ihr habt vergessen im Array "Gruppen" etwas für den Status zu setzten. Hier muss mindestens eines der Felder 9-18 befüllt sein. Im Biespiel von @ahfreezer müsste die Zeile so aussehen:

              var Gruppen = [];
              //              1.Homematic ID,                    2.Thema(no spaces)                    3.History  4.DAY  5.Week  6.Month 7.Year  8.Switch   9 - 18 Status to log                                                         19.stop 20.Loesch
              Gruppen[ 0]  = ['hm-rpc.0.NEQ1678963'                    ,'HM_Gas_ping'                      ,true  ,true  ,true  ,true    ,true  ,true      ,'true'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
              

              Wo bei das true natürlich passend ersetzt werden muss. (Siehe die Beschreibung des Punktes)

              Gruß,
              dsiggi

              1 Antwort Letzte Antwort
              0
              • L looxer01

                @Leon2079:

                Aber ich finde unter Objekte unter javascript nur den Dateinamen BSZ mehr nicht. Wenn ich euere Screenshots so anschaue müsste dort eine menge stehen. `
                Hi,

                kannst du dein Programm posten oder per PN schicken ? Ich schaue es mir an.

                vG looxer

                M Offline
                M Offline
                Mischa
                schrieb am zuletzt editiert von
                #299

                @looxer01
                Hallo,

                ich habe heute iobroker auf einem Raspberry Pi 4 neu installiert und bin verzweifelt auf der Suche wie ich die historischen Daten des BSZ übertragen kann.
                Hat jemand eine Ahnung in welcher Datei diese Daten zu finden sind?

                Danke vorab!

                1 Antwort Letzte Antwort
                0
                • etvE Offline
                  etvE Offline
                  etv
                  schrieb am zuletzt editiert von
                  #300

                  Liebe Leute,

                  eine Frage hab ich zu dem Pfad der Daten. Die liegen ja unter javascript.0. und dann die Pfade die man ja eintragen kann.

                  Wie bekomm' ich meine Objekte in den Ordner "0_userdata.0."??

                  Dort liegen bei meiner neuen Installation alle selbst generierten Infos drinnen und da würde ich auch gerne die BSZ Daten drinnen haben, nur bekomm' ich den Pfad nicht von javascript.0. weg....

                  Liebe Grüße
                  Tom

                  …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

                  A 1 Antwort Letzte Antwort
                  0
                  • etvE etv

                    Liebe Leute,

                    eine Frage hab ich zu dem Pfad der Daten. Die liegen ja unter javascript.0. und dann die Pfade die man ja eintragen kann.

                    Wie bekomm' ich meine Objekte in den Ordner "0_userdata.0."??

                    Dort liegen bei meiner neuen Installation alle selbst generierten Infos drinnen und da würde ich auch gerne die BSZ Daten drinnen haben, nur bekomm' ich den Pfad nicht von javascript.0. weg....

                    Liebe Grüße
                    Tom

                    A Offline
                    A Offline
                    andi2055
                    schrieb am zuletzt editiert von
                    #301

                    @etv
                    falls noch nicht bekannt: mit JS >=4.6.1 funktioniert es. Habe ich gerade getestet
                    var sysLocation = "0_userdata.0.BSZ.System";

                    etvE 1 Antwort Letzte Antwort
                    1
                    • A andi2055

                      @etv
                      falls noch nicht bekannt: mit JS >=4.6.1 funktioniert es. Habe ich gerade getestet
                      var sysLocation = "0_userdata.0.BSZ.System";

                      etvE Offline
                      etvE Offline
                      etv
                      schrieb am zuletzt editiert von
                      #302

                      @andi2055 , ja danke dir hab ich gelesen.

                      Ich hab mich in der Zwischenzeit daran "gewöhnt", dass diese Werte wo anders zu finden sind :blush:

                      Liebe Grüße
                      Tom

                      …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

                      1 Antwort Letzte Antwort
                      0
                      • NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        schrieb am zuletzt editiert von Negalein
                        #303

                        Da es mit dem BSZ unteranderem das WEEK.BEFORE gibt, hab ich mal das Script mit der Anleitung umzusetzen versucht.

                        EDIT: Problem gelöst 😊

                        ° Node.js: 20.17.0 NPM: 10.8.2
                        ° Proxmox, Ubuntu 22.04.3 LTS
                        ° Fixer ---> iob fix

                        1 Antwort Letzte Antwort
                        0
                        • K Offline
                          K Offline
                          Kampfratte
                          schrieb am zuletzt editiert von
                          #304

                          Hallo

                          Seit dem Update auf Script-Engine 4.10.1 bekomme ich folgende Fehlermeldungen. Mit der vorigen Version lief alles noch.

                          Unbenannt.png

                          ? 1 Antwort Letzte Antwort
                          0
                          • K Kampfratte

                            Hallo

                            Seit dem Update auf Script-Engine 4.10.1 bekomme ich folgende Fehlermeldungen. Mit der vorigen Version lief alles noch.

                            Unbenannt.png

                            ? Offline
                            ? Offline
                            Ein ehemaliger Benutzer
                            schrieb am zuletzt editiert von
                            #305

                            @Kampfratte ja, das ist bei mir auch.
                            Hab zum Glück nur noch ein Datenpunkt drin, den ich mittlerweile anders auswerte...

                            K 1 Antwort Letzte Antwort
                            0
                            • ? Ein ehemaliger Benutzer

                              @Kampfratte ja, das ist bei mir auch.
                              Hab zum Glück nur noch ein Datenpunkt drin, den ich mittlerweile anders auswerte...

                              K Offline
                              K Offline
                              knopers1
                              schrieb am zuletzt editiert von
                              #306

                              @ilovegym

                              Kann ich bestätigen...... jemand eine Idee wie man es fixen kann?

                              HP Microserver Gen8, RPI-4, IoBroker,

                              K 1 Antwort Letzte Antwort
                              0
                              • K knopers1

                                @ilovegym

                                Kann ich bestätigen...... jemand eine Idee wie man es fixen kann?

                                K Offline
                                K Offline
                                knopers1
                                schrieb am zuletzt editiert von
                                #307

                                @looxer01

                                bekomme beim Update des JS-Adapters folgende Fehlermeldung!
                                Unter dem Namen "Gasrechner" im JS Adapter, läuft dein Betriebsstundenzähler. Hast Du eine Idee was da schief läuft?

                                2020-11-08 18:13:54.600 - error: javascript.0 (10717) script.js.common.Gasrechner: TypeError: Cannot set property '_ioBroker' of null
                                
                                2020-11-08 18:13:54.601 - error: javascript.0 (10717) at schedule (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1296:36)
                                
                                2020-11-08 18:13:54.602 - error: javascript.0 (10717) at script.js.common.Gasrechner:448:1
                                
                                2020-11-08 18:13:54.603 - error: javascript.0 (10717) at script.js.common.Gasrechner:2943:3
                                
                                2020-11-08 18:13:54.603 - error: javascript.0 (10717) at Script.runInContext (vm.js:130:18)
                                

                                HP Microserver Gen8, RPI-4, IoBroker,

                                L 1 Antwort Letzte Antwort
                                0
                                • K knopers1

                                  @looxer01

                                  bekomme beim Update des JS-Adapters folgende Fehlermeldung!
                                  Unter dem Namen "Gasrechner" im JS Adapter, läuft dein Betriebsstundenzähler. Hast Du eine Idee was da schief läuft?

                                  2020-11-08 18:13:54.600 - error: javascript.0 (10717) script.js.common.Gasrechner: TypeError: Cannot set property '_ioBroker' of null
                                  
                                  2020-11-08 18:13:54.601 - error: javascript.0 (10717) at schedule (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1296:36)
                                  
                                  2020-11-08 18:13:54.602 - error: javascript.0 (10717) at script.js.common.Gasrechner:448:1
                                  
                                  2020-11-08 18:13:54.603 - error: javascript.0 (10717) at script.js.common.Gasrechner:2943:3
                                  
                                  2020-11-08 18:13:54.603 - error: javascript.0 (10717) at Script.runInContext (vm.js:130:18)
                                  
                                  L Offline
                                  L Offline
                                  looxer01
                                  schrieb am zuletzt editiert von
                                  #308

                                  Hi,
                                  wenn ihr die schedule funktion nicht nutzt, dann habe ich einen quick fix in dem ihr die Zeile "schedule...." wie unten auskommentiert.

                                  vG Looxer

                                  // Part 1.4 Definition der Trigger und schedule aufgrund der Einstellungstabellen
                                  // ------------------------T R I G G E R -------------------------------------------------------
                                  // achtung fehler im schedule
                                  const ONSub = [];
                                  for (let x = 0; x < Gruppen.length; x++) {
                                  //  	const IDNR = OnIdTAB[x];
                                    	const GRPNummer = x ;
                                    	ONSub.push(on(OnIdTAB[x], (obj) => GeraetUpdate(GRPNummer)));
                                      if (special[x][10] !== '' ) {
                                          log( " special ") + (special[x][10] )
                                  //        schedule(special[x][10], function(obj) { log("BSZ-Schedule aufgerufen","info"); GeraetUpdate(GRPNummer);              }); // end of schedule	
                                      }
                                  }
                                  
                                  
                                  K 1 Antwort Letzte Antwort
                                  0
                                  • L looxer01

                                    Hi,
                                    wenn ihr die schedule funktion nicht nutzt, dann habe ich einen quick fix in dem ihr die Zeile "schedule...." wie unten auskommentiert.

                                    vG Looxer

                                    // Part 1.4 Definition der Trigger und schedule aufgrund der Einstellungstabellen
                                    // ------------------------T R I G G E R -------------------------------------------------------
                                    // achtung fehler im schedule
                                    const ONSub = [];
                                    for (let x = 0; x < Gruppen.length; x++) {
                                    //  	const IDNR = OnIdTAB[x];
                                      	const GRPNummer = x ;
                                      	ONSub.push(on(OnIdTAB[x], (obj) => GeraetUpdate(GRPNummer)));
                                        if (special[x][10] !== '' ) {
                                            log( " special ") + (special[x][10] )
                                    //        schedule(special[x][10], function(obj) { log("BSZ-Schedule aufgerufen","info"); GeraetUpdate(GRPNummer);              }); // end of schedule	
                                        }
                                    }
                                    
                                    
                                    K Offline
                                    K Offline
                                    knopers1
                                    schrieb am zuletzt editiert von knopers1
                                    #309

                                    @looxer01

                                    Hi Looxer01, danke Dir!
                                    Was macht genau die "schedule" Funktion?
                                    Ich habe gesehen, dass sich bei mir der Tages-Stromverbrauch um 0:00 Uhr nicht auf null stellt. Hängt damit die "schedule" Funktion zusammen?

                                    Part 1.4 sieht in meinem Script etwas anderes aus... Hab ich da noch eine alte Version?

                                    // Part 1.4 Definition der Trigger und schedule aufgrund der Einstellungstabellen
                                    // ------------------------T R I G G E R -------------------------------------------------------
                                    
                                    on({id:  OnIdTAB[0 ], valNe: 1000 }, function(obj)    { if(special[0][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 0 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 0 ); } } });    // ende on id
                                    on({id:  OnIdTAB[1 ], valNe: 1000 }, function(obj)    { if(special[1][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 1 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 1 ); } } });    // ende on id
                                    on({id:  OnIdTAB[2 ], valNe: 1000 }, function(obj)    { if(special[2][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 2 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 2 ); } } });    // ende on id
                                    on({id:  OnIdTAB[3 ], valNe: 1000 }, function(obj)    { if(special[3][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 3 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 3 ); } } });    // ende on id
                                    on({id:  OnIdTAB[4 ], valNe: 1000 }, function(obj)    { if(special[4][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 4 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 4 ); } } });    // ende on id
                                    on({id:  OnIdTAB[5 ], valNe: 1000 }, function(obj)    { if(special[5][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 5 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 5 ); } } });    // ende on id
                                    on({id:  OnIdTAB[6 ], valNe: 1000 }, function(obj)    { if(special[6][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 6 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 6 ); } } });    // ende on id
                                    on({id:  OnIdTAB[7 ], valNe: 1000 }, function(obj)    { if(special[7][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 7 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 7 ); } } });    // ende on id
                                    on({id:  OnIdTAB[8 ], valNe: 1000 }, function(obj)    { if(special[8][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 8 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 8 ); } } });    // ende on id
                                    on({id:  OnIdTAB[9 ], valNe: 1000 }, function(obj)    { if(special[9][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 9 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 9 ); } } });    // ende on id
                                    on({id:  OnIdTAB[10], valNe: 1000 }, function(obj)    { if(special[10][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(10);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(10); } } });    // ende on id
                                    on({id:  OnIdTAB[11], valNe: 1000 }, function(obj)    { if(special[11][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(11);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(11); } } });    // ende on id
                                    on({id:  OnIdTAB[12], valNe: 1000 }, function(obj)    { if(special[12][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(12);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(12); } } });    // ende on id
                                    on({id:  OnIdTAB[13], valNe: 1000 }, function(obj)    { if(special[13][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(13);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(13); } } });    // ende on id
                                    on({id:  OnIdTAB[14], valNe: 1000 }, function(obj)    { if(special[14][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(14);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(14); } } });    // ende on id
                                    on({id:  OnIdTAB[15], valNe: 1000 }, function(obj)    { if(special[15][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(15);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(15); } } });    // ende on id
                                    on({id:  OnIdTAB[16], valNe: 1000 }, function(obj)    { if(special[16][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(16);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(16); } } });    // ende on id
                                    on({id:  OnIdTAB[17], valNe: 1000 }, function(obj)    { if(special[17][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(17);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(17); } } });    // ende on id
                                    on({id:  OnIdTAB[18], valNe: 1000 }, function(obj)    { if(special[18][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(18);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(18); } } });    // ende on id
                                    on({id:  OnIdTAB[19], valNe: 1000 }, function(obj)    { if(special[19][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(19);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(19); } } });    // ende on id
                                    on({id:  OnIdTAB[20], valNe: 1000 }, function(obj)    { if(special[20][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(20);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(20); } } });    // ende on id
                                    on({id:  OnIdTAB[21], valNe: 1000 }, function(obj)    { if(special[21][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(21);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(21); } } });    // ende on id
                                    on({id:  OnIdTAB[22], valNe: 1000 }, function(obj)    { if(special[22][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(22);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(22); } } });    // ende on id
                                    on({id:  OnIdTAB[23], valNe: 1000 }, function(obj)    { if(special[23][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(23);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(23); } } });    // ende on id
                                    on({id:  OnIdTAB[24], valNe: 1000 }, function(obj)    { if(special[24][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(24);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(24); } } });    // ende on id
                                    on({id:  OnIdTAB[25], valNe: 1000 }, function(obj)    { if(special[25][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(25);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(25); } } });    // ende on id
                                    
                                    
                                    schedule(special[0][10], function() {   log("schedule 0 aufgerufen","info");GeraetUpdate(0);     }); // end of schedule                                
                                    schedule(special[1][10], function() {   log("schedule 1 aufgerufen","info"); GeraetUpdate(1);     }); // end of schedule        
                                    schedule(special[2][10], function() {   log("schedule 2 aufgerufen","info"); GeraetUpdate(2);     }); // end of schedule        
                                    schedule(special[3][10], function() {   log("schedule 3 aufgerufen","info"); GeraetUpdate(3);     }); // end of schedule        
                                    schedule(special[4][10], function() {   log("schedule 4 aufgerufen","info"); GeraetUpdate(4);     }); // end of schedule        
                                    schedule(special[5][10], function() {   log("schedule 5 aufgerufen","info");GeraetUpdate(5);     }); // end of schedule        
                                    schedule(special[6][10], function() {   log("schedule 6 aufgerufen","info");GeraetUpdate(6);     }); // end of schedule        
                                    schedule(special[7][10], function() {   log("schedule 7 aufgerufen","info");GeraetUpdate(7);     }); // end of schedule        
                                    schedule(special[8][10], function() {   log("schedule 8 aufgerufen","info");GeraetUpdate(8);     }); // end of schedule        
                                    schedule(special[9][10], function() {   log("schedule 9 aufgerufen","info");GeraetUpdate(9);     }); // end of schedule        
                                    schedule(special[10][10], function() {  log("schedule 10 aufgerufen","info"); GeraetUpdate(10);     }); // end of schedule        
                                    schedule(special[11][10], function() {  log("schedule 11 aufgerufen","info"); GeraetUpdate(11);     }); // end of schedule        
                                    schedule(special[12][10], function() {  log("schedule 12 aufgerufen","info"); GeraetUpdate(12);     }); // end of schedule        
                                    schedule(special[13][10], function() {  log("schedule 13 aufgerufen","info"); GeraetUpdate(13);     }); // end of schedule        
                                    schedule(special[14][10], function() {  log("schedule 14 aufgerufen","info"); GeraetUpdate(14);     }); // end of schedule        
                                    schedule(special[15][10], function() {  log("schedule 15 aufgerufen","info");GeraetUpdate(15);     }); // end of schedule        
                                    schedule(special[16][10], function() {  log("schedule 16 aufgerufen","info"); GeraetUpdate(16);     }); // end of schedule        
                                    schedule(special[17][10], function() {  log("schedule 17 aufgerufen","info"); GeraetUpdate(17);     }); // end of schedule        
                                    schedule(special[18][10], function() {  log("schedule 18 aufgerufen","info"); GeraetUpdate(18);     }); // end of schedule        
                                    schedule(special[19][10], function() {  log("schedule 19 aufgerufen","info");GeraetUpdate(19);     }); // end of schedule        
                                    schedule(special[20][10], function() {  log("schedule 20 aufgerufen","info");GeraetUpdate(20);     }); // end of schedule        
                                    schedule(special[21][10], function() {  log("schedule 21 aufgerufen","info");GeraetUpdate(21);     }); // end of schedule        
                                    schedule(special[22][10], function() {  log("schedule 22 aufgerufen","info");GeraetUpdate(22);     }); // end of schedule        
                                    schedule(special[23][10], function() {  log("schedule 23 aufgerufen","info"); GeraetUpdate(23);     }); // end of schedule   
                                    schedule(special[24][10], function() {  log("schedule 24 aufgerufen","info"); GeraetUpdate(24);     }); // end of schedule        
                                    schedule(special[25][10], function() {  log("schedule 25 aufgerufen","info");GeraetUpdate(25);     }); // end of schedule        
                                    
                                    
                                    
                                    // Part 3 Taegliches Zuruecksetzen der Datenpunkte aufgrund von Periodenwechsel DAY,WEEK,MONTH,YEAR
                                    // ------------------------Aenderung des Status des Geraetes------------------------------------
                                    //-------------------------Beim Einschalten wird die Zeit festgehalten -------------------------
                                    //-------------------------Beim Ausschalten wird die Zeitdifferenz berechnet und gespeichert----
                                    schedule(cronjob, function() {   PeriodChange();   });  
                                    
                                    
                                    
                                    // ------------------------ F U N K T I O N E N -------------------------------------------------------
                                    
                                    // Part 1.4.1 Vorbereiten zum Anlegen/Löschen von Datenpunkten
                                    //-----------------------------------------------------------------------------------------------------
                                    // Funktion zum Anlegen der Variablen im System
                                    //-----------------------------------------------------------------------------------------------------
                                    function CreateDelStates(){
                                        var zaehlerstatus = 0;
                                        var method = "TIME";
                                        for (var zaehler = 0,
                                            zaehler_array = Gruppen.length;
                                            zaehler < zaehler_array;
                                            zaehler++) {
                                            zaehler2 = addZero(zaehler).zero2;
                                            if (Gruppen[zaehler][0] === "INITIAL") { continue; }                                                    // Check Gueltigkeit object
                                    
                                            for    ( zaehlerstatus = 8; zaehlerstatus < 18; zaehlerstatus++) {                                      // Spalte 8 - 18 fuer die Gruppentabelle entspriche logname -8
                                    
                                                if (Gruppen[zaehler][zaehlerstatus] === '') {  continue; }                                          //Status is INITIAL     
                                    
                                                if (method !== "TIME" && zaehlerstatus > 8)  {
                                                    break;                                                                                          // Multiple Status werden nur gebraucht fuer TIME Objekte
                                                }
                                                method = "TIME";  
                                                if (Gruppen[zaehler][8] === 'DELTA') {       
                                                    method = "DELTA";
                                                }
                                                if (Gruppen[zaehler][8] === 'DELTAM') {       
                                                    method = "DELTAM";
                                                }
                                                if (Gruppen[zaehler][8] === 'CALC') {       
                                                    method = "CALC";
                                                }
                                    
                                    
                                    
                                    // Status fuer die Methoden anlegen
                                                CreateDelStateSingle(zaehler,zaehlerstatus,method,"none","none");                                   // anlegen fuer alle methods (ausser hostory und switch ) bis zum statuslevel
                                    
                                    
                                    // Status fuer die system struktur anlegen
                                                if (Gruppen[zaehler][3] === true) {                                                                 // soll eine DAY kumulations Variable angelegt werden ?
                                                 CreateDelStateSingle(zaehler,zaehlerstatus,method,"SYSTEM","day");                                        // anlegen fuer die System Struktur Periode
                                                }      // endif Summierung soll angelegt werden
                                                if (Gruppen[zaehler][4] === true) {                                                                 // soll eine week kumulations Variable angelegt werden ?
                                                 CreateDelStateSingle(zaehler,zaehlerstatus,method,"SYSTEM","week");                                        // anlegen fuer die System Struktur Periode
                                                }      // endif Summierung soll angelegt werden
                                                if (Gruppen[zaehler][5] === true) {                                                                 // soll eine month kumulations Variable angelegt werden ?
                                                CreateDelStateSingle(zaehler,zaehlerstatus,method,"SYSTEM","month");                                        // anlegen fuer die System Struktur Periode
                                                }      // endif Summierung soll angelegt werden
                                                if (Gruppen[zaehler][6] === true) {                                                                 // soll eine year kumulations Variable angelegt werden ?
                                                 CreateDelStateSingle(zaehler,zaehlerstatus,method,"SYSTEM","year");                                        // anlegen fuer die System Struktur Periode
                                                }      // endif Summierung soll angelegt werden
                                    
                                    // Methoden Struktur (ausser history und Status anlegen / loeschen)
                                     
                                               if (Gruppen[zaehler][3] === true) {                                                                 // soll eine DAY kumulations Variable angelegt werden ?
                                                     CreateDelStateSingle(zaehler,zaehlerstatus,method,"none","day");
                                                }      // endif Summierung soll angelegt werde
                                                if (Gruppen[zaehler][4] === true) {                                                                 // soll eine week kumulations Variable angelegt werden ?
                                                    CreateDelStateSingle(zaehler,zaehlerstatus,method,"none","week");
                                                }      // endif Summierung soll angelegt werde
                                                if (Gruppen[zaehler][5] === true) {                                                                 // soll eine month kumulations Variable angelegt werden ?
                                                    CreateDelStateSingle(zaehler,zaehlerstatus,method,"none","month");
                                                }      // endif Summierung soll angelegt werde
                                               if (Gruppen[zaehler][6] === true) {                                                                 // soll eine year kumulations Variable angelegt werden ?
                                                    CreateDelStateSingle(zaehler,zaehlerstatus,method,"none","year");
                                                }      // endif Summierung soll angelegt werde
                                    
                                     // Switch Stuktur anlengen / loeschen
                                                if (Gruppen[zaehler][7] === true ) {                                                                 // Soll auch eine Switch Variable angelegt werden
                                                    CreateDelStateSingle(zaehler,zaehlerstatus,"none","SWITCH","none");
                                                    if (Gruppen[zaehler][3] === true) {                                                               // soll eine DAY kumulations Variable angelegt werden ?               
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","SWITCH","day");                     
                                                    }
                                                    if (Gruppen[zaehler][4] === true) {                                                               // soll eine week kumulations Variable angelegt werden ?               
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","SWITCH","week");                     
                                                    }
                                                   if (Gruppen[zaehler][5] === true) {                                                               // soll eine month kumulations Variable angelegt werden ?               
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","SWITCH","month");                     
                                                    }
                                                   if (Gruppen[zaehler][6] === true) {                                                               // soll eine year kumulations Variable angelegt werden ?               
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","SWITCH","year");                     
                                                    }
                                                 } // endif Switch Variablen anzulegen ?
                                                 
                                               
                                    // Durchschnittsberechnung - Struktur anlegen
                                                if (special[zaehler][8] === true ) {                                                                    // Anlegen der Day Average 
                                                    CreateDelStateSingle(zaehler,zaehlerstatus,"none","AVERAGE","none");        
                                                    if (Gruppen[zaehler][3] === true) {                                                                 // Anlegen der Day Average 
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","AVERAGE","day");                   
                                                    }
                                                     if (Gruppen[zaehler][4] === true) {                                                                // Anlegen der Day Average 
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","AVERAGE","week");                   
                                                    }           
                                                    if (Gruppen[zaehler][5] === true) {                                                                 // Anlegen der Day Average 
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","AVERAGE","month");                   
                                                    }
                                                    if (Gruppen[zaehler][6] === true) {                                                                 // Anlegen der Day Average 
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","AVERAGE","year");                   
                                                    }
                                                } // endif Durschnittsbewertung aktiv
                                                
                                    // Min/MAX - Struktur anlegen
                                                if (special[zaehler][11] === true ) {                                                                    // Anlegen MINMAX 
                                                    CreateDelStateSingle(zaehler,zaehlerstatus,"none","MINMAX","none");        
                                                    if (Gruppen[zaehler][3] === true) {                                                                 // Anlegen der Day MINMAX 
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","MINMAX","day");                   
                                                    }
                                                     if (Gruppen[zaehler][4] === true) {                                                                // Anlegen der Week MINMAX 
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","MINMAX","week");                   
                                                    }           
                                                    if (Gruppen[zaehler][5] === true) {                                                                 // Anlegen der Month MINMAX 
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","MINMAX","month");                   
                                                    }
                                                    if (Gruppen[zaehler][6] === true) {                                                                 // Anlegen der Year MINMAX 
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"none","MINMAX","year");                   
                                                    }
                                                } // endif MINMAX aktiv
                                                
                                    
                                    // History Struktur anlegen/ loeschen
                                                if (Gruppen[zaehler][2] === true && Gruppen[zaehler][5] === true) {                                 // Anlegen der Monats History Werte das laufende Jahr wenn Monatskumulation und Historie angeschaltet
                                                    CreateDelStateSingle(zaehler,zaehlerstatus,method,"HISTORY","month");                           
                                                    if(special[zaehler][8] === true) {                                                                // Durchschnittsfunktion ist aktiv   
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"AVERAGE","HISTORY","month");                             
                                                    }
                                                    if(special[zaehler][11] === true) {                                                                // MINMAX ist aktiv   
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"MINMAX","MINMAX","month");                             
                                                    }
                                                }
                                                
                                                if (Gruppen[zaehler][2] === true && Gruppen[zaehler][6] === true) {                                 // Anlegen der Jahres  History Werte das laufende Jahr wenn Jahreskumulation und Historie angeschaltet          
                                                    CreateDelStateSingle(zaehler,zaehlerstatus,method,"HISTORY","year");                   
                                                    if(special[zaehler][8] === true) {                                                                // Durchschnittsfunktion ist aktiv   
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"AVERAGE","HISTORY","year");                             
                                                    }
                                                    if(special[zaehler][11] === true) {                                                                // MINMAX ist aktiv   
                                                        CreateDelStateSingle(zaehler,zaehlerstatus,"AVERAGE","HISTORY","year");                             
                                                    }
                                                }  
                                     
                                     
                                     
                                     
                                            } // Ende FOR Statuszaheler
                                        } // Ende FOR    Gruppenzaehler
                                    
                                    
                                    }  // ende Funktion
                                    
                                    
                                    
                                    // Part 1.4.2 Ausführen Anlegen/Löschen von Datenpunkten
                                    //-----------------------------------------------------------------------------------------------------
                                    // Funktion zum Anlegen der Variablen im System - hier Statusinformationen
                                    //-----------------------------------------------------------------------------------------------------
                                    
                                    function CreateDelStateSingle(zeile,spalte,method,funktion,periode) {
                                    // Zeile = Zeile der Gruppentabelle 
                                    // spalte = spalte der Gruppentabelle (status)
                                    // method = alle Methoden
                                    // funktion =  Funktionen Switch, Average, history
                                    // periode = day week month year oder none
                                        var actionDel = false;
                                        if (Gruppen[zeile][19] === true && Gruppen[zeile][18] === true) {                                            // wenn actionDel = true dann soll geloescht werden
                                            actionDel = true;
                                        }
                                        if (actionDel === false &&  Gruppen[zeile][18] === true) {                                                    // kein loeschen aber auch nicht anlegen da Refresh auf gestoppt gesetzt
                                            return;
                                        }                                   
                                    
                                        var statusname = Gruppen[zeile][spalte];
                                        if (logname[zeile][spalte-8] !== '') {                                                                      // Gibt es einen Status in der logname tabelle  ? wenn ja merken mit vorrang
                                            statusname = logname[zeile][spalte-8];
                                        } 
                                        if (statusname === '' ) { return; }
                                    
                                    
                                        var pathCount   = countLocation + '.'       + Gruppen[zeile][1];                                            // BSZ.Counter.Thema
                                        var pathSysM    = sysLocation   + '.Grp'    + addZero(zeile).zero2  + 'MSec.' + statusname;
                                        var pathSysK    = sysLocation   + '.Grp'    + addZero(zeile).zero2  + 'Kum.'  +  statusname;
                                        var pathCLevel3;                                                                                            //BSZ.Counter.Thema.Type.Status
                                        var pathHistM;                                                                                              // BSZ.Counter.Thema.Status.History.Month
                                        var pathHistY;                                                                                              // BSZ.Counter.Thema.Status.History.Year
                                        var pathCLevel4; 
                                        var pathCLevel4b;    
                                        var pathsysaku;
                                        var pathsysasw; 
                                        var pathsysmin;                                                                                             // Minimum path
                                        var pathsysmax;                                                                                             // Maximum path
                                    
                                    
                                        var year =   new Date().getFullYear();
                                        var month =  addZero(new Date().getMonth()+1).zero2;                                                        // aktueller Monat
                                        var yearvor =new Date().getFullYear()-1;                                                                    // Jahr fuer die Historyfortschreibung - also Vorjahr
                                    
                                    
                                    //  die Methodenstuktur und systemstruktur   anlegen
                                        if(funktion === "none" && periode === "none" ) {                                                            // Hier werden nur die Status der types angelegt (ohne perioden)
                                            pathCLevel3 = pathCount     + "."  + method  + "." + statusname;                                        //BSZ.Counter.Thema.Type.Status    
                                            if (actionDel === false) { 
                                                    createState(pathSysM    ,  0);                                                                  // Anlegen systemeintrag msec
                                                    createState(pathSysK    ,  0);                                                                  // anlegen systemeintrag kum
                                                    createState(pathCLevel3 ,  0);      
                                            } else {
                                                    ObjectExistsDelState(pathSysM   );                                                              // loeschen systemeintrag msec
                                                    ObjectExistsDelState(pathSysK   );                                                              // loeschen systemeintrag kum
                                                    ObjectExistsDelState(pathCLevel3);                                                              // loeschen counteintrag oberster level   
                                            } // endif del
                                        }
                                        
                                    // die perioden der methodenstruktur anlegen
                                        if(periode === 'day' && funktion === "none") { 
                                            pathCLevel4  = pathCount     + "." + method + "." + statusname + "."+PeriodeDay;                      //BSZ.Counter.Thema.Type.Status
                                            pathCLevel4b = pathCount     + "." + method + "." + statusname + "."+PeriodeDay+".BEFORE";                        //BSZ.Counter.Thema.Type.Status
                                            if (actionDel  === false) { 
                                                createState(pathCLevel4 ,   0);
                                                createState(pathCLevel4b,   0);
                                              } else {
                                                ObjectExistsDelState(pathCLevel4 );
                                                ObjectExistsDelState(pathCLevel4b);
                                            } // endif del
                                        }  // endif periode
                                        
                                        if(periode === 'week' && funktion === "none") { 
                                            pathCLevel4  = pathCount     + "." + method + "." + statusname + "."+PeriodeWeek;                      //BSZ.Counter.Thema.Type.Status
                                            pathCLevel4b = pathCount     + "." + method + "." + statusname + "."+PeriodeWeek+".BEFORE";                        //BSZ.Counter.Thema.Type.Status
                                            if (actionDel  === false) { 
                                                createState(pathCLevel4 ,   0);
                                                createState(pathCLevel4b,   0);
                                              } else {
                                                ObjectExistsDelState(pathCLevel4);
                                                ObjectExistsDelState(pathCLevel4b);
                                             } // endif del
                                        }  // endif periode 
                                        
                                        if(periode === 'month' && funktion === "none") { 
                                            pathCLevel4  = pathCount     + "." + method + "." + statusname + "."+PeriodeMonth;                      //BSZ.Counter.Thema.Type.Status
                                            pathCLevel4b = pathCount     + "." + method + "." + statusname + "."+PeriodeMonth+".BEFORE";                        //BSZ.Counter.Thema.Type.Status
                                             if (actionDel  === false) { 
                                                createState(pathCLevel4 ,   0);
                                                createState(pathCLevel4b,   0);
                                            } else {
                                                ObjectExistsDelState(pathCLevel4 );
                                                ObjectExistsDelState(pathCLevel4b);
                                              } // endif del
                                        }  // endif periode
                                        
                                        if(periode === 'year' && funktion === "none") { 
                                            pathCLevel4  = pathCount     + "." + method + "." + statusname + "."+PeriodeYear;                      //BSZ.Counter.Thema.Type.Status
                                            pathCLevel4b = pathCount     + "." + method + "." + statusname + "."+PeriodeYear+".BEFORE";                        //BSZ.Counter.Thema.Type.Status
                                           if (actionDel  === false) {  
                                                createState(pathCLevel4 ,   0);
                                                createState(pathCLevel4b,   0);
                                            } else {
                                            ObjectExistsDelState(pathCLevel4 );
                                            ObjectExistsDelState(pathCLevel4b);
                                            } // endif del
                                        }  // endif periode
                                      
                                      
                                      
                                      
                                      // die perioden der systemstrktur anlegen
                                        if(funktion === "SYSTEM" && periode === "day" ) {                                                           // Anlegen der Perioden fuer die Systemstruktur- hier day
                                             pathSysK = pathSysK + "."+PeriodeDay;    
                                             if (actionDel  === false) { 
                                                createState(pathSysK    ,   0);  
                                            } else {
                                                 ObjectExistsDelState(pathSysK    );              
                                           } // endif del
                                        }
                                        if(funktion === "SYSTEM" && periode === "week" ) {
                                             pathSysK = pathSysK + "."+PeriodeWeek;    
                                             if (actionDel  === false) { 
                                                createState(pathSysK    ,   0);  
                                            } else {
                                                 ObjectExistsDelState(pathSysK    );              
                                           } // endif del
                                        }
                                    
                                        if(funktion === "SYSTEM" && periode === "month" ) {
                                             pathSysK = pathSysK + "."+PeriodeMonth;    
                                             if (actionDel  === false) { 
                                                createState(pathSysK    ,   0);  
                                            } else {
                                                 ObjectExistsDelState(pathSysK    );              
                                           } // endif del
                                        }
                                        if(funktion === "SYSTEM" && periode === "year" ) {
                                             pathSysK = pathSysK + "."+PeriodeYear;    
                                             if (actionDel  === false) { 
                                                createState(pathSysK    ,   0);  
                                            } else {
                                                 ObjectExistsDelState(pathSysK    );              
                                           } // endif del
                                        }
                                    
                                    
                                    
                                    
                                    
                                    // Switch Struktur anlegen inkl Perioden
                                        if(funktion === "SWITCH" && periode === "none") {
                                            pathCLevel3 = pathCount + "." + "SWITCH" + "." + statusname;                                        //BSZ.Counter.Thema.Type.Status
                                            if (actionDel === false) { 
                                                createState(pathCLevel3 ,  0);      
                                            } else {
                                                ObjectExistsDelState(pathCLevel3);                                                              // loeschen counteintrag oberster level   
                                            } // endif del    
                                        }
                                        if(funktion === "SWITCH" && periode === "day") {
                                            pathCLevel4  = pathCount + "." +  "SWITCH" + "." + statusname + "."+PeriodeDay;                           //BSZ.Counter.Thema.Type.Status
                                            pathCLevel4b = pathCount + "." +  "SWITCH" + "." + statusname + "."+PeriodeDay+".BEFORE";                 //BSZ.Counter.Thema.Type.Status
                                            if (actionDel === false) { 
                                                createState(pathCLevel4 ,  0);      
                                                createState(pathCLevel4b,   0);
                                            } else {
                                                ObjectExistsDelState(pathCLevel4);                                                              // loeschen counteintrag oberster level   
                                                ObjectExistsDelState(pathCLevel4b);
                                            } // endif del    
                                        }
                                        if(funktion === "SWITCH" && periode === "week") {
                                            pathCLevel4  = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeWeek;                           //BSZ.Counter.Thema.Type.Status
                                            pathCLevel4b = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeWeek+".BEFORE";                 //BSZ.Counter.Thema.Type.Status
                                            if (actionDel === false) { 
                                                createState(pathCLevel4 ,  0);  
                                                createState(pathCLevel4b,   0);
                                            } else {
                                                ObjectExistsDelState(pathCLevel4);                                                              // loeschen counteintrag oberster level   
                                                ObjectExistsDelState(pathCLevel4b);
                                            } // endif del    
                                        }
                                        if(funktion === "SWITCH" && periode === "month") {
                                            pathCLevel4  = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeMonth;                           //BSZ.Counter.Thema.Type.Status
                                            pathCLevel4b = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeMonth+".BEFORE";                 //BSZ.Counter.Thema.Type.Status
                                            if (actionDel === false) { 
                                                createState(pathCLevel4 ,  0);      
                                                createState(pathCLevel4b,   0);
                                            } else {
                                                ObjectExistsDelState(pathCLevel4);                                                              // loeschen counteintrag oberster level   
                                                ObjectExistsDelState(pathCLevel4b);
                                            } // endif del    
                                        }
                                        if(funktion === "SWITCH" && periode === "year") {
                                            pathCLevel4  = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeYear;                           //BSZ.Counter.Thema.Type.Status
                                            pathCLevel4b = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeYear+".BEFORE";                 //BSZ.Counter.Thema.Type.Status
                                            if (actionDel === false) { 
                                                createState(pathCLevel4 ,  0);     
                                                createState(pathCLevel4b,   0);
                                            } else {
                                                ObjectExistsDelState(pathCLevel4);                                                              // loeschen counteintrag oberster level 
                                                ObjectExistsDelState(pathCLevel4b);
                                            } // endif del    
                                        }
                                    
                                    
                                    // Anlegen der History Stuktur unterhalb der Methoden
                                        if(funktion === "HISTORY") { 
                                            pathHistM   = pathCount  + "."  + method + "." + statusname + ".HISTORY"+ "."+PeriodeMonth +".";                               // BSZ.Counter.Thema.Status.History.Month
                                            pathHistY   = pathCount  + "."  + method + "." + statusname + ".HISTORY"+ "."+PeriodeYear  +".";                               // BSZ.Counter.Thema.Status.History.Month
                                            if (periode === "month") {       
                                                for    (  i = 1; i <= 12; i++) {     
                                                   month  = addZero(i).zero2;                                                                          // Monat mit führender null
                                                   if (actionDel  === false) { 
                                                        createState(pathHistM + year + month,  0);                                                     // alle Monate des jahres anlegen
                                                   } else {
                                                        ObjectExistsDelState(pathHistM + year + month);                                                // alle Monate des jahres loeschen           
                                                   } // endif del
                                                } // endfor
                                                if (actionDel  === false) { 
                                                    createState(pathHistM + yearvor + "12",   0);                                                       // letzten Monat vor Jahreswechsel anlegen               
                                                 } else {     
                                                    ObjectExistsDelState(pathHistM + yearvor + "12");                                                   //letzten Monat vor Jahreswechsel loeschen               
                                                 }  // endif del
                                            }  // endif month                               
                                            if (periode === "year") {         
                                                 if (actionDel  === false) { 
                                                    createState(pathHistY + year,   0);                                                                 //Jahr anlegen       
                                                    createState(pathHistY + yearvor,   0);                                                              //Vorjahr anlegen 
                                                } else {     
                                                    ObjectExistsDelState(pathHistY + year);                                                             //Jahr loeschen       
                                                    ObjectExistsDelState(pathHistY + yearvor);                                                          //Vorjahr loeschen 
                                                }  // endif del
                                            }  // endif year    
                                        } // endif history
                                    

                                    HP Microserver Gen8, RPI-4, IoBroker,

                                    L 1 Antwort Letzte Antwort
                                    0
                                    • K knopers1

                                      @looxer01

                                      Hi Looxer01, danke Dir!
                                      Was macht genau die "schedule" Funktion?
                                      Ich habe gesehen, dass sich bei mir der Tages-Stromverbrauch um 0:00 Uhr nicht auf null stellt. Hängt damit die "schedule" Funktion zusammen?

                                      Part 1.4 sieht in meinem Script etwas anderes aus... Hab ich da noch eine alte Version?

                                      // Part 1.4 Definition der Trigger und schedule aufgrund der Einstellungstabellen
                                      // ------------------------T R I G G E R -------------------------------------------------------
                                      
                                      on({id:  OnIdTAB[0 ], valNe: 1000 }, function(obj)    { if(special[0][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 0 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 0 ); } } });    // ende on id
                                      on({id:  OnIdTAB[1 ], valNe: 1000 }, function(obj)    { if(special[1][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 1 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 1 ); } } });    // ende on id
                                      on({id:  OnIdTAB[2 ], valNe: 1000 }, function(obj)    { if(special[2][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 2 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 2 ); } } });    // ende on id
                                      on({id:  OnIdTAB[3 ], valNe: 1000 }, function(obj)    { if(special[3][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 3 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 3 ); } } });    // ende on id
                                      on({id:  OnIdTAB[4 ], valNe: 1000 }, function(obj)    { if(special[4][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 4 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 4 ); } } });    // ende on id
                                      on({id:  OnIdTAB[5 ], valNe: 1000 }, function(obj)    { if(special[5][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 5 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 5 ); } } });    // ende on id
                                      on({id:  OnIdTAB[6 ], valNe: 1000 }, function(obj)    { if(special[6][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 6 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 6 ); } } });    // ende on id
                                      on({id:  OnIdTAB[7 ], valNe: 1000 }, function(obj)    { if(special[7][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 7 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 7 ); } } });    // ende on id
                                      on({id:  OnIdTAB[8 ], valNe: 1000 }, function(obj)    { if(special[8][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 8 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 8 ); } } });    // ende on id
                                      on({id:  OnIdTAB[9 ], valNe: 1000 }, function(obj)    { if(special[9][7] === true) {  if (obj.state.ack)  {   GeraetUpdate( 9 );  } } else {  if(obj.state.ack === false)  { GeraetUpdate( 9 ); } } });    // ende on id
                                      on({id:  OnIdTAB[10], valNe: 1000 }, function(obj)    { if(special[10][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(10);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(10); } } });    // ende on id
                                      on({id:  OnIdTAB[11], valNe: 1000 }, function(obj)    { if(special[11][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(11);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(11); } } });    // ende on id
                                      on({id:  OnIdTAB[12], valNe: 1000 }, function(obj)    { if(special[12][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(12);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(12); } } });    // ende on id
                                      on({id:  OnIdTAB[13], valNe: 1000 }, function(obj)    { if(special[13][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(13);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(13); } } });    // ende on id
                                      on({id:  OnIdTAB[14], valNe: 1000 }, function(obj)    { if(special[14][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(14);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(14); } } });    // ende on id
                                      on({id:  OnIdTAB[15], valNe: 1000 }, function(obj)    { if(special[15][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(15);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(15); } } });    // ende on id
                                      on({id:  OnIdTAB[16], valNe: 1000 }, function(obj)    { if(special[16][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(16);  }  }else {  if(obj.state.ack === false)  { GeraetUpdate(16); } } });    // ende on id
                                      on({id:  OnIdTAB[17], valNe: 1000 }, function(obj)    { if(special[17][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(17);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(17); } } });    // ende on id
                                      on({id:  OnIdTAB[18], valNe: 1000 }, function(obj)    { if(special[18][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(18);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(18); } } });    // ende on id
                                      on({id:  OnIdTAB[19], valNe: 1000 }, function(obj)    { if(special[19][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(19);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(19); } } });    // ende on id
                                      on({id:  OnIdTAB[20], valNe: 1000 }, function(obj)    { if(special[20][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(20);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(20); } } });    // ende on id
                                      on({id:  OnIdTAB[21], valNe: 1000 }, function(obj)    { if(special[21][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(21);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(21); } } });    // ende on id
                                      on({id:  OnIdTAB[22], valNe: 1000 }, function(obj)    { if(special[22][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(22);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(22); } } });    // ende on id
                                      on({id:  OnIdTAB[23], valNe: 1000 }, function(obj)    { if(special[23][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(23);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(23); } } });    // ende on id
                                      on({id:  OnIdTAB[24], valNe: 1000 }, function(obj)    { if(special[24][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(24);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(24); } } });    // ende on id
                                      on({id:  OnIdTAB[25], valNe: 1000 }, function(obj)    { if(special[25][7] === true) {  if (obj.state.ack)  {   GeraetUpdate(25);  } } else {  if(obj.state.ack === false)  { GeraetUpdate(25); } } });    // ende on id
                                      
                                      
                                      schedule(special[0][10], function() {   log("schedule 0 aufgerufen","info");GeraetUpdate(0);     }); // end of schedule                                
                                      schedule(special[1][10], function() {   log("schedule 1 aufgerufen","info"); GeraetUpdate(1);     }); // end of schedule        
                                      schedule(special[2][10], function() {   log("schedule 2 aufgerufen","info"); GeraetUpdate(2);     }); // end of schedule        
                                      schedule(special[3][10], function() {   log("schedule 3 aufgerufen","info"); GeraetUpdate(3);     }); // end of schedule        
                                      schedule(special[4][10], function() {   log("schedule 4 aufgerufen","info"); GeraetUpdate(4);     }); // end of schedule        
                                      schedule(special[5][10], function() {   log("schedule 5 aufgerufen","info");GeraetUpdate(5);     }); // end of schedule        
                                      schedule(special[6][10], function() {   log("schedule 6 aufgerufen","info");GeraetUpdate(6);     }); // end of schedule        
                                      schedule(special[7][10], function() {   log("schedule 7 aufgerufen","info");GeraetUpdate(7);     }); // end of schedule        
                                      schedule(special[8][10], function() {   log("schedule 8 aufgerufen","info");GeraetUpdate(8);     }); // end of schedule        
                                      schedule(special[9][10], function() {   log("schedule 9 aufgerufen","info");GeraetUpdate(9);     }); // end of schedule        
                                      schedule(special[10][10], function() {  log("schedule 10 aufgerufen","info"); GeraetUpdate(10);     }); // end of schedule        
                                      schedule(special[11][10], function() {  log("schedule 11 aufgerufen","info"); GeraetUpdate(11);     }); // end of schedule        
                                      schedule(special[12][10], function() {  log("schedule 12 aufgerufen","info"); GeraetUpdate(12);     }); // end of schedule        
                                      schedule(special[13][10], function() {  log("schedule 13 aufgerufen","info"); GeraetUpdate(13);     }); // end of schedule        
                                      schedule(special[14][10], function() {  log("schedule 14 aufgerufen","info"); GeraetUpdate(14);     }); // end of schedule        
                                      schedule(special[15][10], function() {  log("schedule 15 aufgerufen","info");GeraetUpdate(15);     }); // end of schedule        
                                      schedule(special[16][10], function() {  log("schedule 16 aufgerufen","info"); GeraetUpdate(16);     }); // end of schedule        
                                      schedule(special[17][10], function() {  log("schedule 17 aufgerufen","info"); GeraetUpdate(17);     }); // end of schedule        
                                      schedule(special[18][10], function() {  log("schedule 18 aufgerufen","info"); GeraetUpdate(18);     }); // end of schedule        
                                      schedule(special[19][10], function() {  log("schedule 19 aufgerufen","info");GeraetUpdate(19);     }); // end of schedule        
                                      schedule(special[20][10], function() {  log("schedule 20 aufgerufen","info");GeraetUpdate(20);     }); // end of schedule        
                                      schedule(special[21][10], function() {  log("schedule 21 aufgerufen","info");GeraetUpdate(21);     }); // end of schedule        
                                      schedule(special[22][10], function() {  log("schedule 22 aufgerufen","info");GeraetUpdate(22);     }); // end of schedule        
                                      schedule(special[23][10], function() {  log("schedule 23 aufgerufen","info"); GeraetUpdate(23);     }); // end of schedule   
                                      schedule(special[24][10], function() {  log("schedule 24 aufgerufen","info"); GeraetUpdate(24);     }); // end of schedule        
                                      schedule(special[25][10], function() {  log("schedule 25 aufgerufen","info");GeraetUpdate(25);     }); // end of schedule        
                                      
                                      
                                      
                                      // Part 3 Taegliches Zuruecksetzen der Datenpunkte aufgrund von Periodenwechsel DAY,WEEK,MONTH,YEAR
                                      // ------------------------Aenderung des Status des Geraetes------------------------------------
                                      //-------------------------Beim Einschalten wird die Zeit festgehalten -------------------------
                                      //-------------------------Beim Ausschalten wird die Zeitdifferenz berechnet und gespeichert----
                                      schedule(cronjob, function() {   PeriodChange();   });  
                                      
                                      
                                      
                                      // ------------------------ F U N K T I O N E N -------------------------------------------------------
                                      
                                      // Part 1.4.1 Vorbereiten zum Anlegen/Löschen von Datenpunkten
                                      //-----------------------------------------------------------------------------------------------------
                                      // Funktion zum Anlegen der Variablen im System
                                      //-----------------------------------------------------------------------------------------------------
                                      function CreateDelStates(){
                                          var zaehlerstatus = 0;
                                          var method = "TIME";
                                          for (var zaehler = 0,
                                              zaehler_array = Gruppen.length;
                                              zaehler < zaehler_array;
                                              zaehler++) {
                                              zaehler2 = addZero(zaehler).zero2;
                                              if (Gruppen[zaehler][0] === "INITIAL") { continue; }                                                    // Check Gueltigkeit object
                                      
                                              for    ( zaehlerstatus = 8; zaehlerstatus < 18; zaehlerstatus++) {                                      // Spalte 8 - 18 fuer die Gruppentabelle entspriche logname -8
                                      
                                                  if (Gruppen[zaehler][zaehlerstatus] === '') {  continue; }                                          //Status is INITIAL     
                                      
                                                  if (method !== "TIME" && zaehlerstatus > 8)  {
                                                      break;                                                                                          // Multiple Status werden nur gebraucht fuer TIME Objekte
                                                  }
                                                  method = "TIME";  
                                                  if (Gruppen[zaehler][8] === 'DELTA') {       
                                                      method = "DELTA";
                                                  }
                                                  if (Gruppen[zaehler][8] === 'DELTAM') {       
                                                      method = "DELTAM";
                                                  }
                                                  if (Gruppen[zaehler][8] === 'CALC') {       
                                                      method = "CALC";
                                                  }
                                      
                                      
                                      
                                      // Status fuer die Methoden anlegen
                                                  CreateDelStateSingle(zaehler,zaehlerstatus,method,"none","none");                                   // anlegen fuer alle methods (ausser hostory und switch ) bis zum statuslevel
                                      
                                      
                                      // Status fuer die system struktur anlegen
                                                  if (Gruppen[zaehler][3] === true) {                                                                 // soll eine DAY kumulations Variable angelegt werden ?
                                                   CreateDelStateSingle(zaehler,zaehlerstatus,method,"SYSTEM","day");                                        // anlegen fuer die System Struktur Periode
                                                  }      // endif Summierung soll angelegt werden
                                                  if (Gruppen[zaehler][4] === true) {                                                                 // soll eine week kumulations Variable angelegt werden ?
                                                   CreateDelStateSingle(zaehler,zaehlerstatus,method,"SYSTEM","week");                                        // anlegen fuer die System Struktur Periode
                                                  }      // endif Summierung soll angelegt werden
                                                  if (Gruppen[zaehler][5] === true) {                                                                 // soll eine month kumulations Variable angelegt werden ?
                                                  CreateDelStateSingle(zaehler,zaehlerstatus,method,"SYSTEM","month");                                        // anlegen fuer die System Struktur Periode
                                                  }      // endif Summierung soll angelegt werden
                                                  if (Gruppen[zaehler][6] === true) {                                                                 // soll eine year kumulations Variable angelegt werden ?
                                                   CreateDelStateSingle(zaehler,zaehlerstatus,method,"SYSTEM","year");                                        // anlegen fuer die System Struktur Periode
                                                  }      // endif Summierung soll angelegt werden
                                      
                                      // Methoden Struktur (ausser history und Status anlegen / loeschen)
                                       
                                                 if (Gruppen[zaehler][3] === true) {                                                                 // soll eine DAY kumulations Variable angelegt werden ?
                                                       CreateDelStateSingle(zaehler,zaehlerstatus,method,"none","day");
                                                  }      // endif Summierung soll angelegt werde
                                                  if (Gruppen[zaehler][4] === true) {                                                                 // soll eine week kumulations Variable angelegt werden ?
                                                      CreateDelStateSingle(zaehler,zaehlerstatus,method,"none","week");
                                                  }      // endif Summierung soll angelegt werde
                                                  if (Gruppen[zaehler][5] === true) {                                                                 // soll eine month kumulations Variable angelegt werden ?
                                                      CreateDelStateSingle(zaehler,zaehlerstatus,method,"none","month");
                                                  }      // endif Summierung soll angelegt werde
                                                 if (Gruppen[zaehler][6] === true) {                                                                 // soll eine year kumulations Variable angelegt werden ?
                                                      CreateDelStateSingle(zaehler,zaehlerstatus,method,"none","year");
                                                  }      // endif Summierung soll angelegt werde
                                      
                                       // Switch Stuktur anlengen / loeschen
                                                  if (Gruppen[zaehler][7] === true ) {                                                                 // Soll auch eine Switch Variable angelegt werden
                                                      CreateDelStateSingle(zaehler,zaehlerstatus,"none","SWITCH","none");
                                                      if (Gruppen[zaehler][3] === true) {                                                               // soll eine DAY kumulations Variable angelegt werden ?               
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","SWITCH","day");                     
                                                      }
                                                      if (Gruppen[zaehler][4] === true) {                                                               // soll eine week kumulations Variable angelegt werden ?               
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","SWITCH","week");                     
                                                      }
                                                     if (Gruppen[zaehler][5] === true) {                                                               // soll eine month kumulations Variable angelegt werden ?               
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","SWITCH","month");                     
                                                      }
                                                     if (Gruppen[zaehler][6] === true) {                                                               // soll eine year kumulations Variable angelegt werden ?               
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","SWITCH","year");                     
                                                      }
                                                   } // endif Switch Variablen anzulegen ?
                                                   
                                                 
                                      // Durchschnittsberechnung - Struktur anlegen
                                                  if (special[zaehler][8] === true ) {                                                                    // Anlegen der Day Average 
                                                      CreateDelStateSingle(zaehler,zaehlerstatus,"none","AVERAGE","none");        
                                                      if (Gruppen[zaehler][3] === true) {                                                                 // Anlegen der Day Average 
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","AVERAGE","day");                   
                                                      }
                                                       if (Gruppen[zaehler][4] === true) {                                                                // Anlegen der Day Average 
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","AVERAGE","week");                   
                                                      }           
                                                      if (Gruppen[zaehler][5] === true) {                                                                 // Anlegen der Day Average 
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","AVERAGE","month");                   
                                                      }
                                                      if (Gruppen[zaehler][6] === true) {                                                                 // Anlegen der Day Average 
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","AVERAGE","year");                   
                                                      }
                                                  } // endif Durschnittsbewertung aktiv
                                                  
                                      // Min/MAX - Struktur anlegen
                                                  if (special[zaehler][11] === true ) {                                                                    // Anlegen MINMAX 
                                                      CreateDelStateSingle(zaehler,zaehlerstatus,"none","MINMAX","none");        
                                                      if (Gruppen[zaehler][3] === true) {                                                                 // Anlegen der Day MINMAX 
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","MINMAX","day");                   
                                                      }
                                                       if (Gruppen[zaehler][4] === true) {                                                                // Anlegen der Week MINMAX 
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","MINMAX","week");                   
                                                      }           
                                                      if (Gruppen[zaehler][5] === true) {                                                                 // Anlegen der Month MINMAX 
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","MINMAX","month");                   
                                                      }
                                                      if (Gruppen[zaehler][6] === true) {                                                                 // Anlegen der Year MINMAX 
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"none","MINMAX","year");                   
                                                      }
                                                  } // endif MINMAX aktiv
                                                  
                                      
                                      // History Struktur anlegen/ loeschen
                                                  if (Gruppen[zaehler][2] === true && Gruppen[zaehler][5] === true) {                                 // Anlegen der Monats History Werte das laufende Jahr wenn Monatskumulation und Historie angeschaltet
                                                      CreateDelStateSingle(zaehler,zaehlerstatus,method,"HISTORY","month");                           
                                                      if(special[zaehler][8] === true) {                                                                // Durchschnittsfunktion ist aktiv   
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"AVERAGE","HISTORY","month");                             
                                                      }
                                                      if(special[zaehler][11] === true) {                                                                // MINMAX ist aktiv   
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"MINMAX","MINMAX","month");                             
                                                      }
                                                  }
                                                  
                                                  if (Gruppen[zaehler][2] === true && Gruppen[zaehler][6] === true) {                                 // Anlegen der Jahres  History Werte das laufende Jahr wenn Jahreskumulation und Historie angeschaltet          
                                                      CreateDelStateSingle(zaehler,zaehlerstatus,method,"HISTORY","year");                   
                                                      if(special[zaehler][8] === true) {                                                                // Durchschnittsfunktion ist aktiv   
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"AVERAGE","HISTORY","year");                             
                                                      }
                                                      if(special[zaehler][11] === true) {                                                                // MINMAX ist aktiv   
                                                          CreateDelStateSingle(zaehler,zaehlerstatus,"AVERAGE","HISTORY","year");                             
                                                      }
                                                  }  
                                       
                                       
                                       
                                       
                                              } // Ende FOR Statuszaheler
                                          } // Ende FOR    Gruppenzaehler
                                      
                                      
                                      }  // ende Funktion
                                      
                                      
                                      
                                      // Part 1.4.2 Ausführen Anlegen/Löschen von Datenpunkten
                                      //-----------------------------------------------------------------------------------------------------
                                      // Funktion zum Anlegen der Variablen im System - hier Statusinformationen
                                      //-----------------------------------------------------------------------------------------------------
                                      
                                      function CreateDelStateSingle(zeile,spalte,method,funktion,periode) {
                                      // Zeile = Zeile der Gruppentabelle 
                                      // spalte = spalte der Gruppentabelle (status)
                                      // method = alle Methoden
                                      // funktion =  Funktionen Switch, Average, history
                                      // periode = day week month year oder none
                                          var actionDel = false;
                                          if (Gruppen[zeile][19] === true && Gruppen[zeile][18] === true) {                                            // wenn actionDel = true dann soll geloescht werden
                                              actionDel = true;
                                          }
                                          if (actionDel === false &&  Gruppen[zeile][18] === true) {                                                    // kein loeschen aber auch nicht anlegen da Refresh auf gestoppt gesetzt
                                              return;
                                          }                                   
                                      
                                          var statusname = Gruppen[zeile][spalte];
                                          if (logname[zeile][spalte-8] !== '') {                                                                      // Gibt es einen Status in der logname tabelle  ? wenn ja merken mit vorrang
                                              statusname = logname[zeile][spalte-8];
                                          } 
                                          if (statusname === '' ) { return; }
                                      
                                      
                                          var pathCount   = countLocation + '.'       + Gruppen[zeile][1];                                            // BSZ.Counter.Thema
                                          var pathSysM    = sysLocation   + '.Grp'    + addZero(zeile).zero2  + 'MSec.' + statusname;
                                          var pathSysK    = sysLocation   + '.Grp'    + addZero(zeile).zero2  + 'Kum.'  +  statusname;
                                          var pathCLevel3;                                                                                            //BSZ.Counter.Thema.Type.Status
                                          var pathHistM;                                                                                              // BSZ.Counter.Thema.Status.History.Month
                                          var pathHistY;                                                                                              // BSZ.Counter.Thema.Status.History.Year
                                          var pathCLevel4; 
                                          var pathCLevel4b;    
                                          var pathsysaku;
                                          var pathsysasw; 
                                          var pathsysmin;                                                                                             // Minimum path
                                          var pathsysmax;                                                                                             // Maximum path
                                      
                                      
                                          var year =   new Date().getFullYear();
                                          var month =  addZero(new Date().getMonth()+1).zero2;                                                        // aktueller Monat
                                          var yearvor =new Date().getFullYear()-1;                                                                    // Jahr fuer die Historyfortschreibung - also Vorjahr
                                      
                                      
                                      //  die Methodenstuktur und systemstruktur   anlegen
                                          if(funktion === "none" && periode === "none" ) {                                                            // Hier werden nur die Status der types angelegt (ohne perioden)
                                              pathCLevel3 = pathCount     + "."  + method  + "." + statusname;                                        //BSZ.Counter.Thema.Type.Status    
                                              if (actionDel === false) { 
                                                      createState(pathSysM    ,  0);                                                                  // Anlegen systemeintrag msec
                                                      createState(pathSysK    ,  0);                                                                  // anlegen systemeintrag kum
                                                      createState(pathCLevel3 ,  0);      
                                              } else {
                                                      ObjectExistsDelState(pathSysM   );                                                              // loeschen systemeintrag msec
                                                      ObjectExistsDelState(pathSysK   );                                                              // loeschen systemeintrag kum
                                                      ObjectExistsDelState(pathCLevel3);                                                              // loeschen counteintrag oberster level   
                                              } // endif del
                                          }
                                          
                                      // die perioden der methodenstruktur anlegen
                                          if(periode === 'day' && funktion === "none") { 
                                              pathCLevel4  = pathCount     + "." + method + "." + statusname + "."+PeriodeDay;                      //BSZ.Counter.Thema.Type.Status
                                              pathCLevel4b = pathCount     + "." + method + "." + statusname + "."+PeriodeDay+".BEFORE";                        //BSZ.Counter.Thema.Type.Status
                                              if (actionDel  === false) { 
                                                  createState(pathCLevel4 ,   0);
                                                  createState(pathCLevel4b,   0);
                                                } else {
                                                  ObjectExistsDelState(pathCLevel4 );
                                                  ObjectExistsDelState(pathCLevel4b);
                                              } // endif del
                                          }  // endif periode
                                          
                                          if(periode === 'week' && funktion === "none") { 
                                              pathCLevel4  = pathCount     + "." + method + "." + statusname + "."+PeriodeWeek;                      //BSZ.Counter.Thema.Type.Status
                                              pathCLevel4b = pathCount     + "." + method + "." + statusname + "."+PeriodeWeek+".BEFORE";                        //BSZ.Counter.Thema.Type.Status
                                              if (actionDel  === false) { 
                                                  createState(pathCLevel4 ,   0);
                                                  createState(pathCLevel4b,   0);
                                                } else {
                                                  ObjectExistsDelState(pathCLevel4);
                                                  ObjectExistsDelState(pathCLevel4b);
                                               } // endif del
                                          }  // endif periode 
                                          
                                          if(periode === 'month' && funktion === "none") { 
                                              pathCLevel4  = pathCount     + "." + method + "." + statusname + "."+PeriodeMonth;                      //BSZ.Counter.Thema.Type.Status
                                              pathCLevel4b = pathCount     + "." + method + "." + statusname + "."+PeriodeMonth+".BEFORE";                        //BSZ.Counter.Thema.Type.Status
                                               if (actionDel  === false) { 
                                                  createState(pathCLevel4 ,   0);
                                                  createState(pathCLevel4b,   0);
                                              } else {
                                                  ObjectExistsDelState(pathCLevel4 );
                                                  ObjectExistsDelState(pathCLevel4b);
                                                } // endif del
                                          }  // endif periode
                                          
                                          if(periode === 'year' && funktion === "none") { 
                                              pathCLevel4  = pathCount     + "." + method + "." + statusname + "."+PeriodeYear;                      //BSZ.Counter.Thema.Type.Status
                                              pathCLevel4b = pathCount     + "." + method + "." + statusname + "."+PeriodeYear+".BEFORE";                        //BSZ.Counter.Thema.Type.Status
                                             if (actionDel  === false) {  
                                                  createState(pathCLevel4 ,   0);
                                                  createState(pathCLevel4b,   0);
                                              } else {
                                              ObjectExistsDelState(pathCLevel4 );
                                              ObjectExistsDelState(pathCLevel4b);
                                              } // endif del
                                          }  // endif periode
                                        
                                        
                                        
                                        
                                        // die perioden der systemstrktur anlegen
                                          if(funktion === "SYSTEM" && periode === "day" ) {                                                           // Anlegen der Perioden fuer die Systemstruktur- hier day
                                               pathSysK = pathSysK + "."+PeriodeDay;    
                                               if (actionDel  === false) { 
                                                  createState(pathSysK    ,   0);  
                                              } else {
                                                   ObjectExistsDelState(pathSysK    );              
                                             } // endif del
                                          }
                                          if(funktion === "SYSTEM" && periode === "week" ) {
                                               pathSysK = pathSysK + "."+PeriodeWeek;    
                                               if (actionDel  === false) { 
                                                  createState(pathSysK    ,   0);  
                                              } else {
                                                   ObjectExistsDelState(pathSysK    );              
                                             } // endif del
                                          }
                                      
                                          if(funktion === "SYSTEM" && periode === "month" ) {
                                               pathSysK = pathSysK + "."+PeriodeMonth;    
                                               if (actionDel  === false) { 
                                                  createState(pathSysK    ,   0);  
                                              } else {
                                                   ObjectExistsDelState(pathSysK    );              
                                             } // endif del
                                          }
                                          if(funktion === "SYSTEM" && periode === "year" ) {
                                               pathSysK = pathSysK + "."+PeriodeYear;    
                                               if (actionDel  === false) { 
                                                  createState(pathSysK    ,   0);  
                                              } else {
                                                   ObjectExistsDelState(pathSysK    );              
                                             } // endif del
                                          }
                                      
                                      
                                      
                                      
                                      
                                      // Switch Struktur anlegen inkl Perioden
                                          if(funktion === "SWITCH" && periode === "none") {
                                              pathCLevel3 = pathCount + "." + "SWITCH" + "." + statusname;                                        //BSZ.Counter.Thema.Type.Status
                                              if (actionDel === false) { 
                                                  createState(pathCLevel3 ,  0);      
                                              } else {
                                                  ObjectExistsDelState(pathCLevel3);                                                              // loeschen counteintrag oberster level   
                                              } // endif del    
                                          }
                                          if(funktion === "SWITCH" && periode === "day") {
                                              pathCLevel4  = pathCount + "." +  "SWITCH" + "." + statusname + "."+PeriodeDay;                           //BSZ.Counter.Thema.Type.Status
                                              pathCLevel4b = pathCount + "." +  "SWITCH" + "." + statusname + "."+PeriodeDay+".BEFORE";                 //BSZ.Counter.Thema.Type.Status
                                              if (actionDel === false) { 
                                                  createState(pathCLevel4 ,  0);      
                                                  createState(pathCLevel4b,   0);
                                              } else {
                                                  ObjectExistsDelState(pathCLevel4);                                                              // loeschen counteintrag oberster level   
                                                  ObjectExistsDelState(pathCLevel4b);
                                              } // endif del    
                                          }
                                          if(funktion === "SWITCH" && periode === "week") {
                                              pathCLevel4  = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeWeek;                           //BSZ.Counter.Thema.Type.Status
                                              pathCLevel4b = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeWeek+".BEFORE";                 //BSZ.Counter.Thema.Type.Status
                                              if (actionDel === false) { 
                                                  createState(pathCLevel4 ,  0);  
                                                  createState(pathCLevel4b,   0);
                                              } else {
                                                  ObjectExistsDelState(pathCLevel4);                                                              // loeschen counteintrag oberster level   
                                                  ObjectExistsDelState(pathCLevel4b);
                                              } // endif del    
                                          }
                                          if(funktion === "SWITCH" && periode === "month") {
                                              pathCLevel4  = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeMonth;                           //BSZ.Counter.Thema.Type.Status
                                              pathCLevel4b = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeMonth+".BEFORE";                 //BSZ.Counter.Thema.Type.Status
                                              if (actionDel === false) { 
                                                  createState(pathCLevel4 ,  0);      
                                                  createState(pathCLevel4b,   0);
                                              } else {
                                                  ObjectExistsDelState(pathCLevel4);                                                              // loeschen counteintrag oberster level   
                                                  ObjectExistsDelState(pathCLevel4b);
                                              } // endif del    
                                          }
                                          if(funktion === "SWITCH" && periode === "year") {
                                              pathCLevel4  = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeYear;                           //BSZ.Counter.Thema.Type.Status
                                              pathCLevel4b = pathCount + "." + "SWITCH" + "." + statusname + "."+PeriodeYear+".BEFORE";                 //BSZ.Counter.Thema.Type.Status
                                              if (actionDel === false) { 
                                                  createState(pathCLevel4 ,  0);     
                                                  createState(pathCLevel4b,   0);
                                              } else {
                                                  ObjectExistsDelState(pathCLevel4);                                                              // loeschen counteintrag oberster level 
                                                  ObjectExistsDelState(pathCLevel4b);
                                              } // endif del    
                                          }
                                      
                                      
                                      // Anlegen der History Stuktur unterhalb der Methoden
                                          if(funktion === "HISTORY") { 
                                              pathHistM   = pathCount  + "."  + method + "." + statusname + ".HISTORY"+ "."+PeriodeMonth +".";                               // BSZ.Counter.Thema.Status.History.Month
                                              pathHistY   = pathCount  + "."  + method + "." + statusname + ".HISTORY"+ "."+PeriodeYear  +".";                               // BSZ.Counter.Thema.Status.History.Month
                                              if (periode === "month") {       
                                                  for    (  i = 1; i <= 12; i++) {     
                                                     month  = addZero(i).zero2;                                                                          // Monat mit führender null
                                                     if (actionDel  === false) { 
                                                          createState(pathHistM + year + month,  0);                                                     // alle Monate des jahres anlegen
                                                     } else {
                                                          ObjectExistsDelState(pathHistM + year + month);                                                // alle Monate des jahres loeschen           
                                                     } // endif del
                                                  } // endfor
                                                  if (actionDel  === false) { 
                                                      createState(pathHistM + yearvor + "12",   0);                                                       // letzten Monat vor Jahreswechsel anlegen               
                                                   } else {     
                                                      ObjectExistsDelState(pathHistM + yearvor + "12");                                                   //letzten Monat vor Jahreswechsel loeschen               
                                                   }  // endif del
                                              }  // endif month                               
                                              if (periode === "year") {         
                                                   if (actionDel  === false) { 
                                                      createState(pathHistY + year,   0);                                                                 //Jahr anlegen       
                                                      createState(pathHistY + yearvor,   0);                                                              //Vorjahr anlegen 
                                                  } else {     
                                                      ObjectExistsDelState(pathHistY + year);                                                             //Jahr loeschen       
                                                      ObjectExistsDelState(pathHistY + yearvor);                                                          //Vorjahr loeschen 
                                                  }  // endif del
                                              }  // endif year    
                                          } // endif history
                                      
                                      L Offline
                                      L Offline
                                      looxer01
                                      schrieb am zuletzt editiert von
                                      #310

                                      Hi
                                      stimmt, ich hatte die letzten Änderungen nicht mehr hochgeladen. Damit weichen die Versionen an der Stelle ab.
                                      Korrektur in dieser Version ist alle schedules (codezeilen 32 ff) , die in Tabelle specials Spalte 11 sich befinden auszukommentieren.
                                      Gilt also für alle Zeilen, die in Tabelle specials Spalte 11 keinen Eintrag bzw ein '' stehen haben.

                                      Mit dieser Einstellung wird nicht auf einen Trigger reagiert sondern ein Schedule löst die Funktion aus. (haben wahrscheinlich eh nicht viele genutzt)

                                      Das hat aber nichts mit der 0 Rückstellung zu tun. Schau ich mir an.

                                      vG Looxer

                                      K 1 Antwort Letzte Antwort
                                      0
                                      • L looxer01

                                        Hi
                                        stimmt, ich hatte die letzten Änderungen nicht mehr hochgeladen. Damit weichen die Versionen an der Stelle ab.
                                        Korrektur in dieser Version ist alle schedules (codezeilen 32 ff) , die in Tabelle specials Spalte 11 sich befinden auszukommentieren.
                                        Gilt also für alle Zeilen, die in Tabelle specials Spalte 11 keinen Eintrag bzw ein '' stehen haben.

                                        Mit dieser Einstellung wird nicht auf einen Trigger reagiert sondern ein Schedule löst die Funktion aus. (haben wahrscheinlich eh nicht viele genutzt)

                                        Das hat aber nichts mit der 0 Rückstellung zu tun. Schau ich mir an.

                                        vG Looxer

                                        K Offline
                                        K Offline
                                        knopers1
                                        schrieb am zuletzt editiert von
                                        #311

                                        @looxer01
                                        puhh,
                                        ich kann Dir noch kaum folgen.... Die Tabelle mit "spezials" habe ich gefunden. (siehe unten)
                                        In der Spalte 11 ist bei mir kein Eintrag. Wie kann ich es auskommentieren? Kannst Du da ein Beispiel zeigen?
                                        Mit codenzeile 32ff kann ich leider nichts anfangen :astonished:

                                        Kannst Du so nett sein und ein Beispiel zeigen?
                                        Besten Dank für Deine Mühe!

                                        var special = [];
                                        //             1.Round 2.add1   3.Faktor                4. Divisor  5.add2  6.Individuallogik  7: DELTA(M)Grenze    8.Warten auf Bestaetigung  9.Durchschnitt - 10.Zaehlschwelle     11 Schedule    12. Min/MAX     13. MehrfachStatus  14. Selektives Logging
                                        special[0]  =   ['2'    ,''     ,''                     ,''         ,''     ,''                 ,''                 ,'false'                    ,''             ,''             ,''                 ,''             ,''                 , ''     ]; 
                                        special[1]  =   ['2'    ,''     ,'11.432'               ,''         ,''     ,''                 ,''                 ,'false'                    ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                        special[2]  =   ['9'     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,'false'                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                        special[3]  =   ['9'     ,''     ,'625'                     ,'1000'         ,''     ,''                 ,''                 ,'false'                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                        special[4]  =   ['2'     ,''     ,'10.43'                     ,'1000'         ,''     ,''                 ,''                 ,'false'                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                        special[5]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ];
                                        special[6]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                        special[7]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                        special[8]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[9]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                        special[10] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                        special[11] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                        special[12] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                        special[13] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[14]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[15]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[16]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[17]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[18]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[19]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ];
                                        special[20]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[21]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[22]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[23]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[24]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        special[25]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                        
                                        

                                        HP Microserver Gen8, RPI-4, IoBroker,

                                        L 1 Antwort Letzte Antwort
                                        0
                                        • K knopers1

                                          @looxer01
                                          puhh,
                                          ich kann Dir noch kaum folgen.... Die Tabelle mit "spezials" habe ich gefunden. (siehe unten)
                                          In der Spalte 11 ist bei mir kein Eintrag. Wie kann ich es auskommentieren? Kannst Du da ein Beispiel zeigen?
                                          Mit codenzeile 32ff kann ich leider nichts anfangen :astonished:

                                          Kannst Du so nett sein und ein Beispiel zeigen?
                                          Besten Dank für Deine Mühe!

                                          var special = [];
                                          //             1.Round 2.add1   3.Faktor                4. Divisor  5.add2  6.Individuallogik  7: DELTA(M)Grenze    8.Warten auf Bestaetigung  9.Durchschnitt - 10.Zaehlschwelle     11 Schedule    12. Min/MAX     13. MehrfachStatus  14. Selektives Logging
                                          special[0]  =   ['2'    ,''     ,''                     ,''         ,''     ,''                 ,''                 ,'false'                    ,''             ,''             ,''                 ,''             ,''                 , ''     ]; 
                                          special[1]  =   ['2'    ,''     ,'11.432'               ,''         ,''     ,''                 ,''                 ,'false'                    ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                          special[2]  =   ['9'     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,'false'                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                          special[3]  =   ['9'     ,''     ,'625'                     ,'1000'         ,''     ,''                 ,''                 ,'false'                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                          special[4]  =   ['2'     ,''     ,'10.43'                     ,'1000'         ,''     ,''                 ,''                 ,'false'                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                          special[5]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ];
                                          special[6]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                          special[7]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                          special[8]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[9]  =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                          special[10] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                          special[11] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                          special[12] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
                                          special[13] =   [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[14]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[15]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[16]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[17]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[18]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[19]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 , ''     ];
                                          special[20]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[21]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[22]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[23]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[24]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          special[25]  =  [''     ,''     ,''                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ];
                                          
                                          
                                          L Offline
                                          L Offline
                                          looxer01
                                          schrieb am zuletzt editiert von
                                          #312

                                          Hi
                                          wenn du dort keinen Eintrag hast, dann ist es doch einfach, denn -wie gedacht- nutzt du die Schedule Funktion nicht
                                          Kommentiere alle Zeilen von 32 bis 57 aus. Dann ist der Fehler weg.

                                          vG Looxer

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          739

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe