Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Unifi Voucher in Vis anzeigen [gelöst]

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Unifi Voucher in Vis anzeigen [gelöst]

Scheduled Pinned Locked Moved ioBroker Allgemein
unifivis
42 Posts 8 Posters 4.1k Views 11 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S SoerenKaiser99

    @liv-in-sky
    ich dank dir! Das ist eigentlich perfekt so, allerdings haut mir das skript das LOG mit Fehlern voll und bricht ab. Tenor ist Error in callback: TypeError: Cannot read property 'slice' of null:

    javascript.0	2020-11-09 09:56:17.081	error	(9155) at Script.runInContext (vm.js:130:18)
    javascript.0	2020-11-09 09:56:17.081	error	(9155) at script.js.Javaskripte.Unifi_Voucher:340:3
    javascript.0	2020-11-09 09:56:17.081	error	(9155) at script.js.Javaskripte.Unifi_Voucher:229:2
    javascript.0	2020-11-09 09:56:17.080	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
    javascript.0	2020-11-09 09:56:17.080	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
    javascript.0	2020-11-09 09:56:17.080	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
    javascript.0	2020-11-09 09:56:17.080	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
    javascript.0	2020-11-09 09:56:17.079	info	(9155) script.js.Javaskripte.Unifi_Voucher: registered 0 subscriptions and 1 schedule
    javascript.0	2020-11-09 09:56:17.067	info	(9155) Start javascript script.js.Javaskripte.Unifi_Voucher
    javascript.0	2020-11-09 09:56:16.937	info	(9155) Stop script script.js.Javaskripte.Unifi_Voucher
    javascript.0	2020-11-09 09:54:54.666	error	(9155) at Script.runInContext (vm.js:130:18)
    javascript.0	2020-11-09 09:54:54.665	error	(9155) at script.js.Javaskripte.Unifi_Voucher:340:3
    javascript.0	2020-11-09 09:54:54.665	error	(9155) at script.js.Javaskripte.Unifi_Voucher:229:2
    javascript.0	2020-11-09 09:54:54.665	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
    javascript.0	2020-11-09 09:54:54.665	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
    javascript.0	2020-11-09 09:54:54.665	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
    javascript.0	2020-11-09 09:54:54.665	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
    javascript.0	2020-11-09 09:54:54.664	info	(9155) script.js.Javaskripte.Unifi_Voucher: registered 0 subscriptions and 1 schedule
    javascript.0	2020-11-09 09:54:54.644	info	(9155) Start javascript script.js.Javaskripte.Unifi_Voucher
    javascript.0	2020-11-09 09:54:53.992	info	(9155) Stop script script.js.Javaskripte.Unifi_Voucher
    javascript.0	2020-11-09 09:54:52.291	error	(9155) at Script.runInContext (vm.js:130:18)
    javascript.0	2020-11-09 09:54:52.291	error	(9155) at script.js.Javaskripte.Unifi_Voucher:340:3
    javascript.0	2020-11-09 09:54:52.290	error	(9155) at script.js.Javaskripte.Unifi_Voucher:229:2
    javascript.0	2020-11-09 09:54:52.290	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
    javascript.0	2020-11-09 09:54:52.290	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
    javascript.0	2020-11-09 09:54:52.290	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
    javascript.0	2020-11-09 09:54:52.290	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
    javascript.0	2020-11-09 09:54:52.289	info	(9155) script.js.Javaskripte.Unifi_Voucher: registered 0 subscriptions and 1 schedule
    javascript.0	2020-11-09 09:54:52.279	info	(9155) Start javascript script.js.Javaskripte.Unifi_Voucher
    javascript.0	2020-11-09 09:54:52.231	info	(9155) Stop script script.js.Javaskripte.Unifi_Voucher
    javascript.0	2020-11-09 09:54:40.007	error	(9155) at processTimers (internal/timers.js:497:7)
    javascript.0	2020-11-09 09:54:40.007	error	(9155) at listOnTimeout (internal/timers.js:554:17)
    javascript.0	2020-11-09 09:54:40.007	error	(9155) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:510:7)
    javascript.0	2020-11-09 09:54:40.007	error	(9155) at /opt/iobroker/node_modules/node-schedule/lib/schedule.js:552:11
    javascript.0	2020-11-09 09:54:40.007	error	(9155) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:173:10)
    javascript.0	2020-11-09 09:54:40.006	error	(9155) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1291:34)
    javascript.0	2020-11-09 09:54:40.006	error	(9155) at Object.<anonymous> (script.js.Javaskripte.Unifi_Voucher:226:2)
    javascript.0	2020-11-09 09:54:40.006	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
    javascript.0	2020-11-09 09:54:40.006	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
    javascript.0	2020-11-09 09:54:40.006	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
    javascript.0	2020-11-09 09:54:40.005	error	(9155) Error in callback: TypeError: Cannot read property 'slice' of null
    javascript.0	2020-11-09 09:54:20.005	error	(9155) at processTimers (internal/timers.js:497:7)
    javascript.0	2020-11-09 09:54:20.005	error	(9155) at listOnTimeout (internal/timers.js:554:17)
    javascript.0	2020-11-09 09:54:20.005	error	(9155) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:510:7)
    javascript.0	2020-11-09 09:54:20.005	error	(9155) at /opt/iobroker/node_modules/node-schedule/lib/schedule.js:552:11
    javascript.0	2020-11-09 09:54:20.005	error	(9155) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:173:10)
    javascript.0	2020-11-09 09:54:20.005	error	(9155) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1291:34)
    javascript.0	2020-11-09 09:54:20.005	error	(9155) at Object.<anonymous> (script.js.Javaskripte.Unifi_Voucher:226:2)
    javascript.0	2020-11-09 09:54:20.004	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
    javascript.0	2020-11-09 09:54:20.004	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
    javascript.0	2020-11-09 09:54:20.004	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
    javascript.0	2020-11-09 09:54:20.004	error	(9155) Error in callback: TypeError: Cannot read property 'slice' of null
    javascript.0	2020-11-09 09:54:00.007	error	(9155) at processTimers (internal/timers.js:497:7)
    javascript.0	2020-11-09 09:54:00.007	error	(9155) at listOnTimeout (internal/timers.js:554:17)
    javascript.0	2020-11-09 09:54:00.007	error	(9155) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:510:7)
    javascript.0	2020-11-09 09:54:00.007	error	(9155) at /opt/iobroker/node_modules/node-schedule/lib/schedule.js:552:11
    javascript.0	2020-11-09 09:54:00.007	error	(9155) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:173:10)
    javascript.0	2020-11-09 09:54:00.006	error	(9155) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1291:34)
    javascript.0	2020-11-09 09:54:00.006	error	(9155) at Object.<anonymous> (script.js.Javaskripte.Unifi_Voucher:226:2)
    javascript.0	2020-11-09 09:54:00.006	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
    javascript.0	2020-11-09 09:54:00.006	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
    javascript.0	2020-11-09 09:54:00.006	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
    javascript.0	2020-11-09 09:54:00.005	error	(9155) Error in callback: TypeError: Cannot read property 'slice' of null
    javascript.0	2020-11-09 09:53:40.006	error	(9155) at processTimers (internal/timers.js:497:7)
    javascript.0	2020-11-09 09:53:40.006	error	(9155) at listOnTimeout (internal/timers.js:554:17)
    javascript.0	2020-11-09 09:53:40.006	error	(9155) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:510:7)
    javascript.0	2020-11-09 09:53:40.006	error	(9155) at /opt/iobroker/node_modules/node-schedule/lib/schedule.js:552:11
    javascript.0	2020-11-09 09:53:40.006	error	(9155) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:173:10)
    javascript.0	2020-11-09 09:53:40.006	error	(9155) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1291:34)
    javascript.0	2020-11-09 09:53:40.005	error	(9155) at Object.<anonymous> (script.js.Javaskripte.Unifi_Voucher:226:2)
    javascript.0	2020-11-09 09:53:40.005	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
    javascript.0	2020-11-09 09:53:40.005	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
    javascript.0	2020-11-09 09:53:40.005	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
    javascript.0	2020-11-09 09:53:40.005	error	(9155) Error in callback: TypeError: Cannot read property 'slice' of null
    javascript.0	2020-11-09 09:53:20.006	error	(9155) at processTimers (internal/timers.js:497:7)
    javascript.0	2020-11-09 09:53:20.006	error	(9155) at listOnTimeout (internal/timers.js:554:17)
    javascript.0	2020-11-09 09:53:20.006	error	(9155) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:510:7)
    javascript.0	2020-11-09 09:53:20.005	error	(9155) at /opt/iobroker/node_modules/node-schedule/lib/schedule.js:552:11
    javascript.0	2020-11-09 09:53:20.005	error	(9155) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:173:10)
    javascript.0	2020-11-09 09:53:20.005	error	(9155) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1291:34)
    javascript.0	2020-11-09 09:53:20.005	error	(9155) at Object.<anonymous> (script.js.Javaskripte.Unifi_Voucher:226:2)
    javascript.0	2020-11-09 09:53:20.005	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
    javascript.0	2020-11-09 09:53:20.005	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
    javascript.0	2020-11-09 09:53:20.005	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
    javascript.0	2020-11-09 09:53:20.004	error	(9155) Error in callback: TypeError: Cannot read property 'slice' of null
    javascript.0	2020-11-09 09:53:00.008	error	(9155) at processTimers (internal/timers.js:497:7)
    javascript.0	2020-11-09 09:53:00.008	error	(9155) at listOnTimeout (internal/timers.js:554:17)
    javascript.0	2020-11-09 09:53:00.008	error	(9155) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:510:7)
    javascript.0	2020-11-09 09:53:00.007	error	(9155) at /opt/iobroker/node_modules/node-schedule/lib/schedule.js:552:11
    javascript.0	2020-11-09 09:53:00.007	error	(9155) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:173:10)
    javascript.0	2020-11-09 09:53:00.007	error	(9155) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1291:34)
    javascript.0	2020-11-09 09:53:00.007	error	(9155) at Object.<anonymous> (script.js.Javaskripte.Unifi_Voucher:226:2)
    javascript.0	2020-11-09 09:53:00.007	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
    javascript.0	2020-11-09 09:53:00.006	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
    javascript.0	2020-11-09 09:53:00.005	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
    javascript.0	2020-11-09 09:53:00.005	error	(9155) Error in callback: TypeError: Cannot read property 'slice' of null
    javascript.0	2020-11-09 09:52:51.097	error	(9155) at Script.runInContext (vm.js:130:18)
    javascript.0	2020-11-09 09:52:51.096	error	(9155) at script.js.Javaskripte.Unifi_Voucher:340:3
    javascript.0	2020-11-09 09:52:51.096	error	(9155) at script.js.Javaskripte.Unifi_Voucher:229:2
    javascript.0	2020-11-09 09:52:51.096	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
    javascript.0	2020-11-09 09:52:51.096	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
    javascript.0	2020-11-09 09:52:51.096	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
    javascript.0	2020-11-09 09:52:51.096	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
    javascript.0	2020-11-09 09:52:51.095	info	(9155) script.js.Javaskripte.Unifi_Voucher: registered 0 subscriptions and 1 schedule
    javascript.0	2020-11-09 09:52:51.085	info	(9155) Start javascript script.js.Javaskripte.Unifi_Voucher
    javascript.0	2020-11-09 09:52:50.311	info	(9155) Stop script script.js.Javaskripte.Unifi_Voucher
    javascript.0	2020-11-09 09:52:48.707	error	(9155) at Script.runInContext (vm.js:130:18)
    javascript.0	2020-11-09 09:52:48.707	error	(9155) at script.js.Javaskripte.Unifi_Voucher:340:3
    javascript.0	2020-11-09 09:52:48.707	error	(9155) at script.js.Javaskripte.Unifi_Voucher:229:2
    javascript.0	2020-11-09 09:52:48.707	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
    javascript.0	2020-11-09 09:52:48.707	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
    javascript.0	2020-11-09 09:52:48.707	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
    javascript.0	2020-11-09 09:52:48.706	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
    

    ich hab wie beim ersten Skript deine Version unverändert übernommen & nur die DP angepasst.
    Die Schreibst alle valx Variablen müssen selbst definiert werden. Die sind aber in deiner Version definiert oder? Hab ich was übersehen?

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    wrote on last edited by liv-in-sky
    #16

    @SoerenKaiser99

    du kannst mal ein log einfügen und nachsehen, ob er bei einem bestimmten eintrag stehen bleibt oder gleich beim ersten einen fehler macht

    Image 3.png

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    S 1 Reply Last reply
    0
    • liv-in-skyL liv-in-sky

      @SoerenKaiser99

      du kannst mal ein log einfügen und nachsehen, ob er bei einem bestimmten eintrag stehen bleibt oder gleich beim ersten einen fehler macht

      Image 3.png

      S Offline
      S Offline
      SoerenKaiser99
      wrote on last edited by
      #17

      @liv-in-sky
      ich hab die DP mal von zeichenkette auf gemischt gestellt, dann fällt das Log kürzer aus (noch ohne Log(id):

      javascript.0	2020-11-09 14:32:07.873	error	(9155) at Script.runInContext (vm.js:130:18)
      javascript.0	2020-11-09 14:32:07.873	error	(9155) at script.js.Javaskripte.Unifi_Voucher:340:3
      javascript.0	2020-11-09 14:32:07.873	error	(9155) at script.js.Javaskripte.Unifi_Voucher:229:2
      javascript.0	2020-11-09 14:32:07.873	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
      javascript.0	2020-11-09 14:32:07.873	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
      javascript.0	2020-11-09 14:32:07.873	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
      javascript.0	2020-11-09 14:32:07.872	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
      javascript.0	2020-11-09 14:32:07.871	info	(9155) script.js.Javaskripte.Unifi_Voucher: registered 0 subscriptions and 1 schedule
      javascript.0	2020-11-09 14:32:07.850	info	(9155) Start javascript script.js.Javaskripte.Unifi_Voucher
      javascript.0	2020-11-09 14:32:06.768	info	(9155) Stop script script.js.Javaskripte.Unifi_Voucher
      

      Beide Datenpunkte sind mit einer 0 befüllt.

      Hier mit dem Eintrag log(id):

      javascript.0	2020-11-09 14:33:35.394	error	(9155) at Script.runInContext (vm.js:130:18)
      javascript.0	2020-11-09 14:33:35.394	error	(9155) at script.js.Javaskripte.Unifi_Voucher:341:3
      javascript.0	2020-11-09 14:33:35.394	error	(9155) at script.js.Javaskripte.Unifi_Voucher:230:2
      javascript.0	2020-11-09 14:33:35.394	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
      javascript.0	2020-11-09 14:33:35.394	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
      javascript.0	2020-11-09 14:33:35.394	error	(9155) at script.js.Javaskripte.Unifi_Voucher:149:44
      javascript.0	2020-11-09 14:33:35.393	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
      javascript.0	2020-11-09 14:33:35.392	info	(9155) script.js.Javaskripte.Unifi_Voucher: registered 0 subscriptions and 1 schedule
      javascript.0	2020-11-09 14:33:35.392	info	(9155) script.js.Javaskripte.Unifi_Voucher: unifi.0.default.vouchers.voucher_.code
      javascript.0	2020-11-09 14:33:35.378	info	(9155) Start javascript script.js.Javaskripte.Unifi_Voucher
      javascript.0	2020-11-09 14:33:33.083	info	(9155) Stop script script.js.Javaskripte.Unifi_Voucher
      
      liv-in-skyL 1 Reply Last reply
      0
      • S SoerenKaiser99

        @liv-in-sky
        ich hab die DP mal von zeichenkette auf gemischt gestellt, dann fällt das Log kürzer aus (noch ohne Log(id):

        javascript.0	2020-11-09 14:32:07.873	error	(9155) at Script.runInContext (vm.js:130:18)
        javascript.0	2020-11-09 14:32:07.873	error	(9155) at script.js.Javaskripte.Unifi_Voucher:340:3
        javascript.0	2020-11-09 14:32:07.873	error	(9155) at script.js.Javaskripte.Unifi_Voucher:229:2
        javascript.0	2020-11-09 14:32:07.873	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
        javascript.0	2020-11-09 14:32:07.873	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
        javascript.0	2020-11-09 14:32:07.873	error	(9155) at script.js.Javaskripte.Unifi_Voucher:148:44
        javascript.0	2020-11-09 14:32:07.872	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
        javascript.0	2020-11-09 14:32:07.871	info	(9155) script.js.Javaskripte.Unifi_Voucher: registered 0 subscriptions and 1 schedule
        javascript.0	2020-11-09 14:32:07.850	info	(9155) Start javascript script.js.Javaskripte.Unifi_Voucher
        javascript.0	2020-11-09 14:32:06.768	info	(9155) Stop script script.js.Javaskripte.Unifi_Voucher
        

        Beide Datenpunkte sind mit einer 0 befüllt.

        Hier mit dem Eintrag log(id):

        javascript.0	2020-11-09 14:33:35.394	error	(9155) at Script.runInContext (vm.js:130:18)
        javascript.0	2020-11-09 14:33:35.394	error	(9155) at script.js.Javaskripte.Unifi_Voucher:341:3
        javascript.0	2020-11-09 14:33:35.394	error	(9155) at script.js.Javaskripte.Unifi_Voucher:230:2
        javascript.0	2020-11-09 14:33:35.394	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
        javascript.0	2020-11-09 14:33:35.394	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
        javascript.0	2020-11-09 14:33:35.394	error	(9155) at script.js.Javaskripte.Unifi_Voucher:149:44
        javascript.0	2020-11-09 14:33:35.393	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
        javascript.0	2020-11-09 14:33:35.392	info	(9155) script.js.Javaskripte.Unifi_Voucher: registered 0 subscriptions and 1 schedule
        javascript.0	2020-11-09 14:33:35.392	info	(9155) script.js.Javaskripte.Unifi_Voucher: unifi.0.default.vouchers.voucher_.code
        javascript.0	2020-11-09 14:33:35.378	info	(9155) Start javascript script.js.Javaskripte.Unifi_Voucher
        javascript.0	2020-11-09 14:33:33.083	info	(9155) Stop script script.js.Javaskripte.Unifi_Voucher
        
        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        wrote on last edited by
        #18

        @SoerenKaiser99

        warum 0 - das macht ja für den code keinen sinn - lösch mal die vouchers mit einer 0 im code

        so sieht das bzw muss das voucher verzeichnis ausehen:

        Image 9.png

        alle datenpunkte werden benötigt, ansonsten muss ich auf exists prüfen

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        S 1 Reply Last reply
        0
        • liv-in-skyL liv-in-sky

          @SoerenKaiser99

          warum 0 - das macht ja für den code keinen sinn - lösch mal die vouchers mit einer 0 im code

          so sieht das bzw muss das voucher verzeichnis ausehen:

          Image 9.png

          alle datenpunkte werden benötigt, ansonsten muss ich auf exists prüfen

          S Offline
          S Offline
          SoerenKaiser99
          wrote on last edited by
          #19

          @liv-in-sky
          ich glaub du hast mich falsch verstanden. ich hab die DP Voucher und Voucher_Tabelle mit einer 0 befüllt. Hatte schon oft probleme wenn die leer waren bei der ersten Ausführung

          //HIER WIRD PFAD UND FILENAME DEFINIERT
          const path = "/htmlexample.html";                   //FIlenamen definieren
          const home ='vis.0'                                 //wo soll das file im iobroker-file-system liegen ? (oder z.b auch iqontrol.meta)
          let   braucheEinFile=false;                          // bei true wird ein file geschrieben
          let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
          let dpVIS="0_userdata.0.Vis.WLAN_Voucher_Tabelle"         //WICHTIG wenn braucheEinVISWidget auf true gesetzt !!  dp zusätzlich für VIS-HTML-Basic-Widget
          let dpLatestVoucher="0_userdata.0.Vis.WLAN_Voucher"
          let mySchedule=" 27 * * * * ";                       //
          

          Die Vouchers von unifi sehen aktuell so aus:
          1.JPG

          liv-in-skyL 2 Replies Last reply
          0
          • S SoerenKaiser99

            @liv-in-sky
            ich glaub du hast mich falsch verstanden. ich hab die DP Voucher und Voucher_Tabelle mit einer 0 befüllt. Hatte schon oft probleme wenn die leer waren bei der ersten Ausführung

            //HIER WIRD PFAD UND FILENAME DEFINIERT
            const path = "/htmlexample.html";                   //FIlenamen definieren
            const home ='vis.0'                                 //wo soll das file im iobroker-file-system liegen ? (oder z.b auch iqontrol.meta)
            let   braucheEinFile=false;                          // bei true wird ein file geschrieben
            let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
            let dpVIS="0_userdata.0.Vis.WLAN_Voucher_Tabelle"         //WICHTIG wenn braucheEinVISWidget auf true gesetzt !!  dp zusätzlich für VIS-HTML-Basic-Widget
            let dpLatestVoucher="0_userdata.0.Vis.WLAN_Voucher"
            let mySchedule=" 27 * * * * ";                       //
            

            Die Vouchers von unifi sehen aktuell so aus:
            1.JPG

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            wrote on last edited by
            #20

            @SoerenKaiser99

            ja das habe ich

            lust auf anydesk oder teamviewer -. wäre mir lieber - geht meist schneller

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            1 Reply Last reply
            0
            • S SoerenKaiser99

              @liv-in-sky
              ich glaub du hast mich falsch verstanden. ich hab die DP Voucher und Voucher_Tabelle mit einer 0 befüllt. Hatte schon oft probleme wenn die leer waren bei der ersten Ausführung

              //HIER WIRD PFAD UND FILENAME DEFINIERT
              const path = "/htmlexample.html";                   //FIlenamen definieren
              const home ='vis.0'                                 //wo soll das file im iobroker-file-system liegen ? (oder z.b auch iqontrol.meta)
              let   braucheEinFile=false;                          // bei true wird ein file geschrieben
              let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
              let dpVIS="0_userdata.0.Vis.WLAN_Voucher_Tabelle"         //WICHTIG wenn braucheEinVISWidget auf true gesetzt !!  dp zusätzlich für VIS-HTML-Basic-Widget
              let dpLatestVoucher="0_userdata.0.Vis.WLAN_Voucher"
              let mySchedule=" 27 * * * * ";                       //
              

              Die Vouchers von unifi sehen aktuell so aus:
              1.JPG

              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              wrote on last edited by liv-in-sky
              #21

              @SoerenKaiser99

              da fehlt was bei der id

              Image 10.png

              bei mir:

              unifi.0.default.vouchers.voucher_0358680882.code
              

              Image 11.png

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              S 1 Reply Last reply
              0
              • liv-in-skyL liv-in-sky

                @SoerenKaiser99

                da fehlt was bei der id

                Image 10.png

                bei mir:

                unifi.0.default.vouchers.voucher_0358680882.code
                

                Image 11.png

                S Offline
                S Offline
                SoerenKaiser99
                wrote on last edited by
                #22

                @liv-in-sky
                der unifi DP ist bei mir gleich:
                unifi.0.default.vouchers.voucher_0339394363.code
                in deinem Skript:
                $('unifi.0.default.vouchers.*.code').each(function(id, i) { // hier eigene schleife definieren
                Wenn ich einen neuen voucher generieren lasse, mekert er zwar noch immer an slice of 0 rum aber zusätzlich an Temp Farben

                javascript.0	2020-11-09 14:57:02.641	error	(9155) at Script.runInContext (vm.js:130:18)
                javascript.0	2020-11-09 14:57:02.641	error	(9155) at script.js.Javaskripte.Unifi_Voucher:341:3
                javascript.0	2020-11-09 14:57:02.641	error	(9155) at script.js.Javaskripte.Unifi_Voucher:230:2
                javascript.0	2020-11-09 14:57:02.641	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
                javascript.0	2020-11-09 14:57:02.641	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
                javascript.0	2020-11-09 14:57:02.640	error	(9155) at script.js.Javaskripte.Unifi_Voucher:149:44
                javascript.0	2020-11-09 14:57:02.640	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
                javascript.0	2020-11-09 14:57:02.639	info	(9155) script.js.Javaskripte.Unifi_Voucher: registered 0 subscriptions and 1 schedule
                javascript.0	2020-11-09 14:57:02.638	info	(9155) script.js.Javaskripte.Unifi_Voucher: unifi.0.default.vouchers.voucher_.code
                javascript.0	2020-11-09 14:57:02.616	info	(9155) Start javascript script.js.Javaskripte.Unifi_Voucher
                javascript.0	2020-11-09 14:42:52.724	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:42:52.723	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:42:10.418	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:42:10.416	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:41:28.535	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:41:28.535	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:40:46.197	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:40:46.197	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:40:04.310	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:40:04.310	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:39:21.235	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:39:21.235	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:38:39.175	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:38:39.175	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:37:56.898	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:37:56.897	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:37:14.844	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:37:14.843	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:36:32.607	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:36:32.607	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                javascript.0	2020-11-09 14:36:04.660	info	(9155) Stop script script.js.Javaskripte.Unifi_Voucher
                
                liv-in-skyL 2 Replies Last reply
                0
                • S SoerenKaiser99

                  @liv-in-sky
                  der unifi DP ist bei mir gleich:
                  unifi.0.default.vouchers.voucher_0339394363.code
                  in deinem Skript:
                  $('unifi.0.default.vouchers.*.code').each(function(id, i) { // hier eigene schleife definieren
                  Wenn ich einen neuen voucher generieren lasse, mekert er zwar noch immer an slice of 0 rum aber zusätzlich an Temp Farben

                  javascript.0	2020-11-09 14:57:02.641	error	(9155) at Script.runInContext (vm.js:130:18)
                  javascript.0	2020-11-09 14:57:02.641	error	(9155) at script.js.Javaskripte.Unifi_Voucher:341:3
                  javascript.0	2020-11-09 14:57:02.641	error	(9155) at script.js.Javaskripte.Unifi_Voucher:230:2
                  javascript.0	2020-11-09 14:57:02.641	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
                  javascript.0	2020-11-09 14:57:02.641	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
                  javascript.0	2020-11-09 14:57:02.640	error	(9155) at script.js.Javaskripte.Unifi_Voucher:149:44
                  javascript.0	2020-11-09 14:57:02.640	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
                  javascript.0	2020-11-09 14:57:02.639	info	(9155) script.js.Javaskripte.Unifi_Voucher: registered 0 subscriptions and 1 schedule
                  javascript.0	2020-11-09 14:57:02.638	info	(9155) script.js.Javaskripte.Unifi_Voucher: unifi.0.default.vouchers.voucher_.code
                  javascript.0	2020-11-09 14:57:02.616	info	(9155) Start javascript script.js.Javaskripte.Unifi_Voucher
                  javascript.0	2020-11-09 14:42:52.724	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:42:52.723	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:42:10.418	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:42:10.416	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:41:28.535	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:41:28.535	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:40:46.197	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:40:46.197	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:40:04.310	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:40:04.310	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:39:21.235	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:39:21.235	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:38:39.175	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:38:39.175	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:37:56.898	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:37:56.897	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:37:14.844	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:37:14.843	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:36:32.607	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:36:32.607	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                  javascript.0	2020-11-09 14:36:04.660	info	(9155) Stop script script.js.Javaskripte.Unifi_Voucher
                  
                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  wrote on last edited by
                  #23

                  @SoerenKaiser99

                  das ist ein anderes script ??? verstehe nix

                  anydesk ?

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  liv-in-skyL S 2 Replies Last reply
                  0
                  • liv-in-skyL liv-in-sky

                    @SoerenKaiser99

                    das ist ein anderes script ??? verstehe nix

                    anydesk ?

                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    wrote on last edited by liv-in-sky
                    #24

                    falsch gepostet

                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                    1 Reply Last reply
                    0
                    • S SoerenKaiser99

                      @liv-in-sky
                      der unifi DP ist bei mir gleich:
                      unifi.0.default.vouchers.voucher_0339394363.code
                      in deinem Skript:
                      $('unifi.0.default.vouchers.*.code').each(function(id, i) { // hier eigene schleife definieren
                      Wenn ich einen neuen voucher generieren lasse, mekert er zwar noch immer an slice of 0 rum aber zusätzlich an Temp Farben

                      javascript.0	2020-11-09 14:57:02.641	error	(9155) at Script.runInContext (vm.js:130:18)
                      javascript.0	2020-11-09 14:57:02.641	error	(9155) at script.js.Javaskripte.Unifi_Voucher:341:3
                      javascript.0	2020-11-09 14:57:02.641	error	(9155) at script.js.Javaskripte.Unifi_Voucher:230:2
                      javascript.0	2020-11-09 14:57:02.641	error	(9155) at writeHTML (script.js.Javaskripte.Unifi_Voucher:143:38)
                      javascript.0	2020-11-09 14:57:02.641	error	(9155) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:795:29)
                      javascript.0	2020-11-09 14:57:02.640	error	(9155) at script.js.Javaskripte.Unifi_Voucher:149:44
                      javascript.0	2020-11-09 14:57:02.640	error	(9155) script.js.Javaskripte.Unifi_Voucher: TypeError: Cannot read property 'slice' of null
                      javascript.0	2020-11-09 14:57:02.639	info	(9155) script.js.Javaskripte.Unifi_Voucher: registered 0 subscriptions and 1 schedule
                      javascript.0	2020-11-09 14:57:02.638	info	(9155) script.js.Javaskripte.Unifi_Voucher: unifi.0.default.vouchers.voucher_.code
                      javascript.0	2020-11-09 14:57:02.616	info	(9155) Start javascript script.js.Javaskripte.Unifi_Voucher
                      javascript.0	2020-11-09 14:42:52.724	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:42:52.723	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:42:10.418	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:42:10.416	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:41:28.535	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:41:28.535	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:40:46.197	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:40:46.197	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:40:04.310	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:40:04.310	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:39:21.235	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:39:21.235	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:38:39.175	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:38:39.175	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:37:56.898	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:37:56.897	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:37:14.844	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:37:14.843	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:36:32.607	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:36:32.607	error	(9155) script.js.Javaskripte.Vis.Vis_Temp_Farben: setForeignState: undefined is not a valid state value
                      javascript.0	2020-11-09 14:36:04.660	info	(9155) Stop script script.js.Javaskripte.Unifi_Voucher
                      
                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      wrote on last edited by
                      #25

                      @SoerenKaiser99 definitiv javascript instanz neustarten - nicht das da was altes hängt

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      1 Reply Last reply
                      0
                      • liv-in-skyL liv-in-sky

                        @SoerenKaiser99

                        das ist ein anderes script ??? verstehe nix

                        anydesk ?

                        S Offline
                        S Offline
                        SoerenKaiser99
                        wrote on last edited by SoerenKaiser99
                        #26

                        @liv-in-sky
                        gelöst 😄

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          save
                          wrote on last edited by
                          #27

                          @liv-in-sky Gibt es hier bereits News? Habe in Der Tabelle gelöschte Vouchers, welche weder in den Objekten noch im Unifi vorhanden sind, bzw. gelöscht worden sind. Wie kann ich dies im Skript löschen damit diese nicht mehr in der Tabelle aufgelistet werden?

                          Gruss aus der Ostschweiz
                          Sascha

                          Intel Nuc NUC7i3DNKE | DS920+ | KNX | SONOS | ioBroker | Stiebel Eltron WPL | Symo Gen 24 10 plus | BYD HVS 10.2

                          liv-in-skyL 1 Reply Last reply
                          0
                          • S save

                            @liv-in-sky Gibt es hier bereits News? Habe in Der Tabelle gelöschte Vouchers, welche weder in den Objekten noch im Unifi vorhanden sind, bzw. gelöscht worden sind. Wie kann ich dies im Skript löschen damit diese nicht mehr in der Tabelle aufgelistet werden?

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            wrote on last edited by
                            #28

                            @save wenn sie nicht in den objecten sind - aber im script noch sichtbar, sollte es ein cache problem sein - javascript -istanz neustarten sollte da helfen

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            S 1 Reply Last reply
                            0
                            • liv-in-skyL liv-in-sky

                              @save wenn sie nicht in den objecten sind - aber im script noch sichtbar, sollte es ein cache problem sein - javascript -istanz neustarten sollte da helfen

                              S Offline
                              S Offline
                              save
                              wrote on last edited by
                              #29

                              @liv-in-sky Super Vielen Dank. Habe dies zwar einmal versucht, aber wahrscheinlich mit der Schedule Zeit nicht gerechnet.

                              Habe dein Script soweit erweitert, dass es über Schedule und ein Button (Creat Vouchers) getriggert wird. So wird es direkt beim anfordern eines neuen Vouchers neu getriggert.

                              on({id: 'unifi.0.default.vouchers.create_vouchers', change: "ne"}, async function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                if ((obj.state ? obj.state.val : "")) {
                                  timeout = setTimeout(async function () {
                                      RunCreateVouchers();
                                      console.log('test');
                                  }, 5000);
                                }
                              });
                              
                              schedule(mySchedule,  RunCreateVouchers);
                              
                              function RunCreateVouchers() {
                              writeHTML();
                              if (braucheEinFile) {writeFile(home, path ,htmlOut, function (error) { /* log('file written');*/  });}
                              }; 
                              

                              Gruss aus der Ostschweiz
                              Sascha

                              Intel Nuc NUC7i3DNKE | DS920+ | KNX | SONOS | ioBroker | Stiebel Eltron WPL | Symo Gen 24 10 plus | BYD HVS 10.2

                              1 Reply Last reply
                              0
                              • liv-in-skyL liv-in-sky

                                @GoodOld wenn du den neuen unifi adapter nutzt dann evtl sowas?

                                Image 2.png

                                A Offline
                                A Offline
                                Anrie
                                wrote on last edited by
                                #30

                                @liv-in-sky Hallöchen, wäre es hier möglich die gesammelten Daten in einelne Datenpunkte zu speichern? Ich würde mir gerne eine eigene Tabelle zusammen bauen wollen.

                                Liebe Güße aus Leipzig
                                André

                                liv-in-skyL 1 Reply Last reply
                                0
                                • A Anrie

                                  @liv-in-sky Hallöchen, wäre es hier möglich die gesammelten Daten in einelne Datenpunkte zu speichern? Ich würde mir gerne eine eigene Tabelle zusammen bauen wollen.

                                  Liebe Güße aus Leipzig
                                  André

                                  liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  wrote on last edited by
                                  #31

                                  @anrie

                                  die sind unter dem unifi adapter

                                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                  A 1 Reply Last reply
                                  0
                                  • liv-in-skyL liv-in-sky

                                    @anrie

                                    die sind unter dem unifi adapter

                                    A Offline
                                    A Offline
                                    Anrie
                                    wrote on last edited by
                                    #32

                                    @liv-in-sky Ich möchte gerne die Codes die im Adaper angezeigt werden in einer Tabele bei VIS darstellen, ähnlich wie in deinem Skript. Allerdings mache ich alles mit Blockly und weis nicht wie ich die Datenpunkte auslesen kann wenn diese nach erstellung als neue Ordner geschrieben werden. Ich hoffe ich habe es verständlich rüber gebracht.

                                    liv-in-skyL 1 Reply Last reply
                                    0
                                    • A Anrie

                                      @liv-in-sky Ich möchte gerne die Codes die im Adaper angezeigt werden in einer Tabele bei VIS darstellen, ähnlich wie in deinem Skript. Allerdings mache ich alles mit Blockly und weis nicht wie ich die Datenpunkte auslesen kann wenn diese nach erstellung als neue Ordner geschrieben werden. Ich hoffe ich habe es verständlich rüber gebracht.

                                      liv-in-skyL Offline
                                      liv-in-skyL Offline
                                      liv-in-sky
                                      wrote on last edited by
                                      #33

                                      @anrie

                                      was wäre denn anders in deiner tabelle ? mit blockly habe ich sowas noch nicht gemacht

                                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                      1 Reply Last reply
                                      0
                                      • S Offline
                                        S Offline
                                        Silence1599
                                        wrote on last edited by
                                        #34

                                        Hi,

                                        @liv-in-sky Mega, vielen Dank für dieses Script. Die Tabelle funktioniert bei mir einwandfrei. Ob nun bereits genutzte Voucher aus der Liste verschwinden wird sich mit der Zeit zeigen. Aber eine andere Frage: Gibt es die Möglichkeit dass unter dem 'dpLatestVoucher' der letzte Voucher angezeigt wird, welcher noch nicht benutzt wurde ?

                                        liv-in-skyL 1 Reply Last reply
                                        0
                                        • S Silence1599

                                          Hi,

                                          @liv-in-sky Mega, vielen Dank für dieses Script. Die Tabelle funktioniert bei mir einwandfrei. Ob nun bereits genutzte Voucher aus der Liste verschwinden wird sich mit der Zeit zeigen. Aber eine andere Frage: Gibt es die Möglichkeit dass unter dem 'dpLatestVoucher' der letzte Voucher angezeigt wird, welcher noch nicht benutzt wurde ?

                                          liv-in-skyL Offline
                                          liv-in-skyL Offline
                                          liv-in-sky
                                          wrote on last edited by
                                          #35

                                          @silence1599

                                          steht eigentlich ganz unten in der tabelle - habe schon lange nix mehr damit gemacht - bitte überprüfe auch, ob das stimmt, was in den dp steht

                                          teste bitte mal: vorher aber 2 neue dp vom typ string anlegen

                                          Image 2.png

                                           //@liv-in-sky 2020  13.012022.-08:42
                                          
                                          
                                          //HIER WIRD PFAD UND FILENAME DEFINIERT
                                          const path = "/htmlexample.html";                   //FIlenamen definieren
                                          const home ='vis.0'                                 //wo soll das file im iobroker-file-system liegen ? (oder z.b auch iqontrol.meta)
                                          let   braucheEinFile=false;                          // bei true wird ein file geschrieben
                                          let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
                                          let dpVIS="0_userdata.0.Tabellen.Unifi-Voucher"         //WICHTIG wenn braucheEinVISWidget auf true gesetzt !!  dp zusätzlich für VIS-HTML-Basic-Widget
                                          let dpLatestVoucher="0_userdata.0.Tabellen.Unifi-Latest"
                                          let dpLatestVoucherUsed="0_userdata.0.Tabellen.Unifi-Latest-Used"
                                          let dpFirstVoucherUnused="0_userdata.0.Tabellen.Unifi-First-Unused"
                                          let mySchedule=" 5 * * * * ";                       //
                                          //---------------------------------------
                                          
                                          //HIER DIE SPALTEN ANZAHL DEFINIEREN - jede Spalte einen Wert - in diesem Beispiel sind es 5
                                          var htmlFeld1='CODE';       var Feld1lAlign="left";                     // überschrift Tabellen Spalte1 und  Ausrichtung left,right or center
                                          var htmlFeld2='Erstellt';        var Feld2lAlign="center";                      // überschrift Tabellen Spalte2 und  Ausrichtung left,right or center
                                          var htmlFeld3='Dauer';         var Feld3lAlign="center";                    // überschrift Tabellen Spalte3 und  Ausrichtung left,right or center
                                          var htmlFeld4='QOS';        var Feld4lAlign="center";                    // überschrift Tabellen Spalte4 und  Ausrichtung left,right or center
                                          var htmlFeld5='Quota';        var Feld5lAlign="center";                    // überschrift Tabellen Spalte5 und  Ausrichtung left,right or center
                                          var htmlFeld6='Notiz';        var Feld6lAlign="left";                    // überschrift Tabellen Spalte5 und  Ausrichtung left,right or center
                                          var htmlFeld7='Used';        var Feld7lAlign="center";                    // überschrift Tabellen Spalte5 und  Ausrichtung left,right or center
                                          var htmlFeld8='UpLoad';        var Feld8lAlign="center";                    // überschrift Tabellen Spalte5 und  Ausrichtung left,right or center
                                          var htmlFeld9='DownLoad';        var Feld9lAlign="center";                    // überschrift Tabellen Spalte5 und  Ausrichtung left,right or center
                                          
                                          
                                          //-----------------------------------
                                          
                                          
                                          
                                          //hier werden die styles für die tabelle definiert
                                          //ÜBERSCHRIFT ÜBER TABELLE
                                          let   htmlUberschrift=false;                           // mit Überschrift über der tabelle
                                          let   htmlSignature=false;                              // anstatt der Überscghrift eine signature: - kleiner - anliegend
                                          const htmlFeldUeber='Unifi Vouchers';              // Überschrift und Signature
                                          const htmlFarbUber="white";                         // Farbe der Überschrift
                                          const htmlSchriftWeite="normal";                       // bold, normal - Fettschrift für Überschrift
                                          const htmlÜberFontGroesse="18px";                       // schriftgröße überschrift
                                          //MEHRERE TABELLEN NEBENEINANDER
                                          let   mehrfachTabelle=1;                              // bis zu 4 Tabellen werden nebeneinander geschrieben-  verkürzt das Ganze, dafür etwas breiter - MÖGLICH 1,2,3,oder 4 !!!
                                          const trennungsLinie="2";                             //extra trennungslinie bei mehrfachtabellen - evtl auf 0 stellen, wnn htmlRahmenLinien auf none sind
                                          const farbetrennungsLinie="#88B7DF";
                                          const htmlFarbZweiteTabelle="white";                // Farbe der Überschrift bei jeder 2.ten Tabelle
                                          const htmlFarbTableColorUber="#88B7DF";               // Überschrift in der tabelle - der einzelnen Spalten
                                          //ÜBERSCHRIFT SPALTEN
                                          const UeberSchriftHoehe="35";                          //Überschrift bekommt mehr Raum - darunter und darüber - Zellenhöhe
                                          const LinieUnterUeberschrift="2";                   // Linie nur unter Spaltenüberschrift - 
                                          const farbeLinieUnterUeberschrift="#88B7DF";
                                          const groesseUeberschrift=16;
                                          const UeberschriftStyle="normal"                     // möglich "bold"
                                          //GANZE TABELLE
                                          let abstandZelle="4";
                                          let farbeUngeradeZeilen="#000000";                     //Farbe für ungerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                          let farbeGeradeZeilen="#151515";                        //Farbe für gerade Zeilenanzahl - Hintergrund der Spaltenüberschrift bleibt bei htmlFarbTableColorGradient1/2
                                          let weite="auto";                                     //Weite der Tabelle
                                          let zentriert=true;                                   //ganze tabelle zentriert
                                          const backgroundAll="#000000";                        //Hintergrund für die ganze Seite - für direkten aufruf oder iqontrol sichtber - keine auswirkung auf vis-widget
                                          const htmlSchriftart="Helvetica";
                                          const htmlSchriftgroesse="14px";
                                          //FELDER UND RAHMEN
                                          let   UeberschriftSpalten=true;                // ein- oder ausblenden der spatlen-überschriften
                                          const htmlFarbFelderschrift="#BDBDBD";                  // SchriftFarbe der Felder
                                          const htmlFarbFelderschrift2="#D8D8D8";                 // SchriftFarbe der Felder für jede 2te Tabelle
                                          const htmlFarbTableColorGradient1="#424242";          //  Gradient - Hintergrund der Tabelle - Verlauffarbe
                                          const htmlFarbTableColorGradient2="#424242";          //  Gradient - Hintergrund der Tabelle - ist dieser Wert gleich Gradient1 gibt es keinen verlauf
                                          const htmlFarbTableBorderColor="grey";             // Farbe des Rahmen - is tdieser gleich den gradienten, sind die rahmen unsichtbar
                                          let htmlRahmenLinien="none";                            // Format für Rahmen: MÖGLICH: "none" oder "all" oder "cols" oder "rows"
                                          const htmlSpalte1Weite="auto";                   //  Weite der ersten beiden  Spalten oder z.b. 115px
                                          
                                          // HIER NICHTS  ÄNDERN
                                          
                                          let borderHelpBottum;
                                          let borderHelpRight;
                                          let htmlcenterHelp;
                                          let htmlcenterHelp2;
                                          
                                          if(htmlRahmenLinien=="rows") {borderHelpBottum=1;borderHelpRight=0;}
                                          if(htmlRahmenLinien=="cols") {borderHelpBottum=0;borderHelpRight=1;}
                                          if(htmlRahmenLinien=="none") {borderHelpBottum=0;borderHelpRight=0;}
                                          if(htmlRahmenLinien=="all")  {borderHelpBottum=1;borderHelpRight=1;}
                                          zentriert ? htmlcenterHelp="auto" : htmlcenterHelp="left";
                                          zentriert ? htmlcenterHelp2="center" : htmlcenterHelp2="left";
                                          
                                          
                                          const htmlZentriert='<center>'
                                          const htmlStart=    "<!DOCTYPE html><html lang=\"de\"><head><title>Vorlage</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">"+
                                                             "<style> * {  margin: 0;} body {background-color: "+backgroundAll+"; margin: 0 auto;  }"+
                                                             " p {padding-top: 10px; padding-bottom: 10px; text-align: "+htmlcenterHelp2+"}"+
                                                            // " div { margin: 0 auto;  margin-left: auto; margin-right: auto;}"+
                                                             " td { padding:"+abstandZelle+"px; border:0px solid "+htmlFarbTableBorderColor+";  border-right:"+borderHelpRight+"px solid "+htmlFarbTableBorderColor+";border-bottom:"+borderHelpBottum+"px solid "+htmlFarbTableBorderColor+";}"+ 
                                                             " table { width: "+weite+";  margin: 0 "+htmlcenterHelp+"; border:1px solid "+htmlFarbTableBorderColor+"; border-spacing=\""+abstandZelle+"0px\" ; }"+   // margin macht center
                                                             "td:nth-child(1) {width: "+htmlSpalte1Weite+"}"+"td:nth-child(2) {width:"+htmlSpalte1Weite+"}"+
                                                             " </style></head><body> <div>";
                                          //const htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-weight: bold\">"+htmlFeldUeber+"</p>";                    
                                          const htmlTabStyle= "<table bordercolor=\""+htmlFarbTableBorderColor+"\" border=\"2px\" cellspacing=\""+abstandZelle+"\" cellpadding=\""+abstandZelle+"\" width=\""+weite+"\" rules=\""+htmlRahmenLinien+"\" style=\"color:"+htmlFarbFelderschrift+";  font-size:"+htmlSchriftgroesse+
                                                                "; font-family:"+htmlSchriftart+";background-image: linear-gradient(42deg,"+htmlFarbTableColorGradient2+","+htmlFarbTableColorGradient1+");\">";
                                          const htmlTabUeber1="<tr height=\""+UeberSchriftHoehe+"\" style=\"color:"+htmlFarbTableColorUber+"; font-size: "+groesseUeberschrift+"px; font-weight: "+UeberschriftStyle+" ;  border-bottom: "+LinieUnterUeberschrift+"px solid "+farbeLinieUnterUeberschrift+" \">";
                                          const htmlTabUeber3="</tr>";
                                          
                                          
                                          //NICHTS ÄNDERN - abhängig von den oben definierten _Spalten - in diesem Beispiel sind es 5
                                          
                                          
                                          var htmlTabUeber2="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+">&ensp;"+htmlFeld2+"&ensp;</td><td  align="+Feld3lAlign+">&ensp;"+htmlFeld3+"&ensp;</td><td align="+Feld4lAlign+
                                                            ">&ensp;"+htmlFeld4+"&ensp;</td><td  align="+Feld5lAlign+">&ensp;"+htmlFeld5+"&ensp;</td><td  align="+Feld6lAlign+">&ensp;"+htmlFeld6+"&ensp;</td><td  align="+Feld7lAlign+">&ensp;"+htmlFeld7+"&ensp;</td><td  align="+Feld8lAlign+">&ensp;"+htmlFeld8+
                                                            "&ensp;</td><td  align="+Feld9lAlign+">&ensp;"+htmlFeld9+"&ensp;</td>";
                                          var htmlTabUeber2_1="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld3+
                                                             "&ensp;</td><td  align="+Feld3lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld3+"&ensp;</td><td  align="+Feld4lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld4+
                                                             "&ensp;</td><td align="+Feld5lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld5+"&ensp;</td><td align="+Feld6lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld6+"&ensp;</td><td align="+Feld7lAlign+
                                                             " style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld7+"&ensp;</td><td align="+Feld8lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld8+"&ensp;</td><td  align="+Feld9lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld9+"&ensp;</td>";
                                                                 //------------------------------------------------------
                                          
                                          
                                          
                                          var htmlOut="";
                                          let helpArr=[];
                                          let triggerArr;
                                          var mix;
                                          var counter;
                                          var val1; var val2; var val0; var val3; var val4; var val5; var val6; var val7;var val8; 
                                          var htmlTabUeber="";
                                          function writeHTML(){
                                          
                                          triggerArr=[];
                                          helpArr=[];
                                          htmlOut="";
                                          
                                          counter=-1;
                                          htmlTabUeber="";
                                          switch (mehrfachTabelle) { 
                                             case 1: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber3;  break;
                                             case 2: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                             case 3: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2+htmlTabUeber2+htmlTabUeber3; break;
                                             case 4: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
                                          }; 
                                          if (!UeberschriftSpalten) {htmlTabUeber=""}  
                                          
                                          //--------------------------------------------------------------------------------------------------------------------------------------------------
                                          //---------hier kommt eure schleife rein counter++, tabelleBind() und tabelleFinish() müssen so integriert bleiben !!!------------------------------
                                          //---------alle valx werte müssen von euch bestimmt werden - val0,val1,val2,val3,val4!!!------------------------------------------------------------
                                          //--------------------------------------------------------------------------------------------------------------------------------------------------
                                          
                                          
                                          $('unifi.0.default.vouchers.*.code').each(function(id, i) {           // hier eigene schleife definieren
                                              // log(id)
                                                  var ida = id.split('.');
                                                //   triggerArr.push(id)
                                                  //  counter++; 
                                                    let val2help;                                      // SEHR WICHTIG - MUSS IN JEDER SCHLEIFE INTEGRIERT SEIN
                                                    val0=getState(id).val; val0=val0.slice(0,5)+"-"+val0.slice(5)
                                                    val1=getState(id.replace("code","create_time")).val;
                                                    val2help=getState(id.replace("code","duration")).val*60;
                                                    val3=getState(id.replace("code","qos_overwrite")).val;
                                                    val4=getState(id.replace("code","quota")).val;
                                                    getState(id.replace("code","note")).val =="null" || getState(id.replace("code","note")).val ==null ? val5=""  :  val5=getState(id.replace("code","note")).val;
                                                    val6=getState(id.replace("code","used")).val;
                                          
                                          
                                                   val2=Math.floor( ((val2help)/60/60/24) )+"d "+ Math.floor(((val2help)/60/60) % 24) +"h "+ Math.floor( ((val2help)/60) % 60 )+" m" ;
                                          
                                                  //  if (getState(id).val==null) {val4="never used"}; //log(id)}; 
                                                    let val6helper=val6;
                                                    if (val6==0) {val6="✗"} else{val6="✓"}  
                                          
                                                    val7=""; val8=""; 
                                                    if (existsState(id.replace("code","qos_rate_max_down"))) { val7=getState(id.replace("code","qos_rate_max_down")).val + " kbps";} 
                                                    if (existsState(id.replace("code","qos_rate_max_up"))) {  val8=getState(id.replace("code","qos_rate_max_up")).val  + " kbps";}
                                                   // log(getState(id).lc.toString())
                                                    helpArr.push({
                                                                 "code" : val0,
                                                                 "erstellt":val1,
                                                                 "dauer":val2,
                                                                 "qos":val3,
                                                                 "quota":val4,
                                                                 "notiz":val5,
                                                                 "used":val6,
                                                                 "upload":val7,
                                                                 "download":val8,
                                                                 "sorter":getState(id).lc,
                                                                 "val6helper":val6helper
                                          
                                          
                                          
                                                    })
                                          
                                                  
                                          
                                               //tabelleBind(); //HIER NICHTS ÄNDERN : HIER WERDEN DIE DATEN DER SCHLEIFE ZUSAMMENGESETZT  - diese function muss als letztes in der eigenen schleife aufgerufen werden
                                              
                                             }); //Schleifen Ende - je nach schleifenart muss hier etwas geändert werden !!!!!!!!!
                                             //  log(helpArr[0].sorter)
                                           //  let helpOct=JSON.parse(helpArr)
                                          
                                                 helpArr.sort(function(a, b){
                                                                         return parseInt(a.sorter) - parseInt(b.sorter);
                                                                         });
                                                  //                       log(JSON.stringify(helpArr))
                                                 let helperUsed=false;  
                                                 let helperV=""                       
                                                 for (let i=0; i<helpArr.length;i++){ if( (helpArr[i].val6helper==0 || helpArr[i].val6helper=="0") && !helperUsed) {
                                                                                                                  helperV=helpArr[i].code;
                                                                                                                  setState(dpFirstVoucherUnused,helperV);
                                                                                                                  helperUsed=true}
                                                                                                                    }
                                          
                                                 helpArr.sort(function(a, b){
                                                                         return parseInt(b.sorter) - parseInt(a.sorter);
                                                                         });
                                                                  //     log(JSON.stringify(helpArr))
                                              helperUsed=false;
                                             for (let i=0; i<helpArr.length;i++){
                                                  if(i==0) {setState(dpLatestVoucher,helpArr[i].code)} 
                                                  if(helpArr[i].val6helper==1 && !helperUsed) {setState(dpLatestVoucherUsed,helpArr[i].code);helperUsed=true }
                                                 counter++;
                                                 val0=helpArr[i].code
                                                 if(helpArr[i].val6helper==1 || helpArr[i].val6helper=="1") {val0="<font color=\""+"white"+"\"> "+helpArr[i].code+"</i></font>"} else{val0=helpArr[i].code} 
                                                 val1=helpArr[i].erstellt
                                                 val2=helpArr[i].dauer
                                                 val3=helpArr[i].qos
                                                 val4=helpArr[i].quota
                                                 val5=helpArr[i].notiz
                                              //   val6=helpArr[i].used
                                                 if(helpArr[i].val6helper==1 || helpArr[i].val6helper=="1") {val6="<font color=\""+"white"+"\"> "+helpArr[i].used+"</i></font>"} else{val6=helpArr[i].used}
                                                 val7=helpArr[i].upload
                                                 val8=helpArr[i].download
                                          
                                          
                                          
                                                 tabelleBind();
                                             }
                                          
                                          
                                          //-------------------------------------------------------------------------------------------------------------------------------------------------
                                          //--------------------------------------------------Ende der schleife------------------------------------------------------------------------------
                                          //-------------------------------------------------------------------------------------------------------------------------------------------------
                                          
                                                tabelleFinish(); // AB HIER NICHTS ÄNDERN - tabelle fertigstellen
                                          
                                          
                                          } // function ende
                                          
                                          //MAIN:
                                           
                                          schedule(mySchedule,  function () {
                                           writeHTML();
                                           if (braucheEinFile) {writeFile(home, path ,htmlOut, function (error) { /* log('file written');*/  });}
                                          }); 
                                           writeHTML();
                                          
                                             				 function tabelleBind(){
                                               //HIER WERDEN DIE DATEN DER SCHLEIFE ZUSAMMENGESETZT - hat man oben 5 Felder definiert, braucht man hier 5 Werte
                                             
                                                 switch (mehrfachTabelle) {  
                                                  case 1: if(counter%2==0)  {  htmlOut=htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td></tr>"; break;} else
                                                                            {  htmlOut=htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td></tr>"; break;}
                                                  case 2: if(counter%4==0){
                                                          if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";\" align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td>"; } 
                                                                        else {htmlOut = htmlOut+"<td align="+Feld1lAlign+"  style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align="+Feld4lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val8+"&ensp;</td></tr>";} break;
                                                  }else{
                                                          if(counter%2==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";\" align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td>"; } 
                                                                        else {htmlOut = htmlOut+"<td align="+Feld1lAlign+"  style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align="+Feld4lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val8+"&ensp;</td></tr>";} break; }                  
                                                  
                                                  
                                                  case 3: if(counter%2==0)   {
                                                          if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";\" align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td>"; } 
                                                                        else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+"  style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align="+Feld4lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+" style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"; color:"+htmlFarbFelderschrift2+"\">&ensp;"+val8+"&ensp;</td>";} 
                                                                                         else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td></tr>";}
                                                                                   } break; }else{
                                                          if(counter%3==0 )  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";\" align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td>"; } 
                                                                        else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+"  style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align="+Feld4lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+" style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"; color:"+htmlFarbFelderschrift2+"\">&ensp;"+val8+"&ensp;</td>";} 
                                                                                         else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td></tr>";}
                                                                                   } break;}
                                          
                                                 
                                                 
                                                  case 4:   if(counter%8==0)   {
                                                         if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeGeradeZeilen+"\"><td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld5lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";\" align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td>"; } 
                                                                            else {if(counter%4==1 )  { htmlOut = htmlOut+"<td  align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align="+Feld4lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\>&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+" style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val8+"&ensp;</td>";} 
                                                                                         else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+"  style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align="+Feld4lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val8+"&ensp;</td></tr>";} 
                                                                                                           else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td>&ensp;"+val1+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";\" align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td>";}}
                                                                                   } break;}else{
                                                         if(counter%4==0)  {htmlOut = htmlOut+"<tr bgcolor=\""+farbeUngeradeZeilen+"\"><td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld5lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";\" align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td>"; } 
                                                                            else {if(counter%4==1 )  { htmlOut = htmlOut+"<td  align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align="+Feld4lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+" style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";color:"+htmlFarbFelderschrift2+"\">&ensp;"+val8+"&ensp;</td>";} 
                                                                                         else    {if(counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+"  style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td align="+Feld3lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align="+Feld4lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td><td align="+Feld5lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val7+"&ensp;</td><td align="+Feld9lAlign+"style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val8+"&ensp;</td></tr>";} 
                                                                                                           else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+" >&ensp;"+val0+"&ensp;</td><td>&ensp;"+val1+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val2+"&ensp;</td><td align="+Feld3lAlign+">&ensp;"+val3+"&ensp;</td><td align="+Feld4lAlign+">&ensp;"+val4+"&ensp;</td><td align="+Feld6lAlign+">&ensp;"+val5+"&ensp;</td><td align="+Feld7lAlign+">&ensp;"+val6+"&ensp;</td><td align="+Feld8lAlign+">&ensp;"+val7+"&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+";\" align="+Feld9lAlign+">&ensp;"+val8+"&ensp;</td>";}}
                                                                                   } break;  }                        
                                          
                                               } //switch ende
                                          
                                          
                                          
                                          }
                                          
                                          function tabelleFinish() {
                                          
                                                // tabelle fertigstellen
                                                switch (mehrfachTabelle) {  
                                                 case 1:    break;
                                          
                                                 case 2:    
                                                           if(counter%2==0)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>');  
                                                          
                                                            break;
                                          
                                                 case 3:   if(counter%3==2)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                           if(counter%3==1)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>');         
                                                           if(counter%3==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");
                                                         
                                                            break;
                                                 case 4:   if(counter%4==3)  htmlOut = htmlOut.replace(/<\/td>$/, "</td></tr>");
                                                           if(counter%4==2)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>');  
                                                           if(counter%4==1)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>");    
                                                           if(counter%4==0)  htmlOut = htmlOut.replace(/<\/td>$/, "</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td style=\" border-right: "+trennungsLinie+"px solid "+farbetrennungsLinie+"\">&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>"); 
                                                           break; }
                                               
                                                              var htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: "+htmlÜberFontGroesse+"; font-weight:"+htmlSchriftWeite+ "\">"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</p>"; 
                                                 var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 70%; text-align: right;\" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                                  
                                                  if (!htmlSignature) htmlUnter="";
                                                    //Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
                                                     var htmlOutVIS="";
                                                   //  htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>";
                                                      if (htmlUberschrift) 
                                                          { zentriert ? htmlOutVIS=htmlZentriert+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter : htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter ;
                                          
                                                        } else {
                                                         zentriert ?  htmlOutVIS=htmlZentriert+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter :  htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter;
                                          
                                                           }
                                          
                                          // log("bin raus aus tabelleBind");
                                                     if (braucheEinVISWidget) setState(dpVIS, htmlOutVIS );
                                          
                                           var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 80%;  text-align: center; \" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                                          
                                           if (!htmlSignature) htmlUnter="";
                                           var htmlEnd="</table>"+htmlUnter+"</div></body>";
                                           //mit oder ohne überschrift - zentriert oder links
                                          htmlUberschrift ? htmlOut=htmlStart+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd : htmlOut=htmlStart+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd;
                                           //log(htmlOut);
                                           
                                          
                                          
                                          }
                                          
                                          
                                              
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          

                                          Image 3.png

                                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                          T 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          256

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe