Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    927

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[Material Design CSS / MDCSS V2] Vis-Views zur Inspiration

Scheduled Pinned Locked Moved Visualisierung
vis
191 Posts 22 Posters 31.3k Views 43 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.
  • Dominik F.D Dominik F.

    @Pittini

    Ich hab dein Skript installiert da es eine super Ergänzung zu meinem vorhandenen Fensterscript ist. Leider bekomme ich dort eine Warnung und wenn ich ein Fenster öffne ändert sich der Datenpunkt nicht. Hast du eine Idee?

    javascript.0	2020-03-22 23:27:03.123	info	(6849) script.js.common.Vis.Fensterauswertung: Alle Fenster geschlossen.
    javascript.0	2020-03-22 23:27:03.123	info	(6849) script.js.common.Vis.Fensterauswertung: EG_Wohnzimmer Fenster = geschlossen.
    javascript.0	2020-03-22 23:27:03.123	info	(6849) script.js.common.Vis.Fensterauswertung: Reaching GetRoom x=10
    javascript.0	2020-03-22 23:27:03.123	info	(6849) script.js.common.Vis.Fensterauswertung: Keller Fenster = geschlossen.
    javascript.0	2020-03-22 23:27:03.123	info	(6849) script.js.common.Vis.Fensterauswertung: Reaching GetRoom x=9
    javascript.0	2020-03-22 23:27:03.123	info	(6849) script.js.common.Vis.Fensterauswertung: OG_Bad Fenster = geschlossen.
    javascript.0	2020-03-22 23:27:03.123	info	(6849) script.js.common.Vis.Fensterauswertung: Reaching GetRoom x=8
    javascript.0	2020-03-22 23:27:03.122	info	(6849) script.js.common.Vis.Fensterauswertung: OG_Bad Fenster = geschlossen.
    javascript.0	2020-03-22 23:27:03.122	info	(6849) script.js.common.Vis.Fensterauswertung: Reaching GetRoom x=7
    javascript.0	2020-03-22 23:27:03.122	info	(6849) script.js.common.Vis.Fensterauswertung: EG_Küche Fenster = geschlossen.
    javascript.0	2020-03-22 23:27:03.122	info	(6849) script.js.common.Vis.Fensterauswertung: Reaching GetRoom x=6
    javascript.0	2020-03-22 23:27:03.122	info	(6849) script.js.common.Vis.Fensterauswertung: EG_Küche Fenster = geschlossen.
    javascript.0	2020-03-22 23:27:03.121	info	(6849) script.js.common.Vis.Fensterauswertung: Reaching GetRoom x=5
    javascript.0	2020-03-22 23:27:03.121	info	(6849) script.js.common.Vis.Fensterauswertung: EG_Wohnzimmer Fenster = geschlossen.
    javascript.0	2020-03-22 23:27:03.121	info	(6849) script.js.common.Vis.Fensterauswertung: Reaching GetRoom x=4
    javascript.0	2020-03-22 23:27:03.121	info	(6849) script.js.common.Vis.Fensterauswertung: EG_Bad Fenster = geschlossen.
    javascript.0	2020-03-22 23:27:03.120	info	(6849) script.js.common.Vis.Fensterauswertung: Reaching GetRoom x=3
    javascript.0	2020-03-22 23:27:03.120	info	(6849) script.js.common.Vis.Fensterauswertung: EG_Küche Fenster = geschlossen.
    javascript.0	2020-03-22 23:27:03.120	info	(6849) script.js.common.Vis.Fensterauswertung: Reaching GetRoom x=2
    javascript.0	2020-03-22 23:27:03.120	info	(6849) script.js.common.Vis.Fensterauswertung: EG_Küche Fenster = geschlossen.
    javascript.0	2020-03-22 23:27:03.119	info	(6849) script.js.common.Vis.Fensterauswertung: Reaching GetRoom x=1
    javascript.0	2020-03-22 23:27:03.119	info	(6849) script.js.common.Vis.Fensterauswertung: Kein Raum definiert Fenster = geschlossen.
    javascript.0	2020-03-22 23:27:03.119	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.119	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.119	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.119	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:108:5)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at CheckAllWindows (script.js.common.Vis.Fensterauswertung:229:13)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1426:20)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) State "javascript.0.FensterUeberwachung.Kein Raum definiert.RoomOpenWindowCount" not found
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:108:5)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at CheckAllWindows (script.js.common.Vis.Fensterauswertung:228:13)
    javascript.0	2020-03-22 23:27:03.118	warn	(6849) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1426:20)
    javascript.0	2020-03-22 23:27:03.117	warn	(6849) State "javascript.0.FensterUeberwachung.Kein Raum definiert.IsOpen" not found
    javascript.0	2020-03-22 23:27:03.117	error	(6849) script.js.common.Vis.Fensterauswertung: Kein Raum definiert
    javascript.0	2020-03-22 23:27:03.117	info	(6849) script.js.common.Vis.Fensterauswertung: Reaching GetRoom x=0
    javascript.0	2020-03-22 23:27:03.117	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.117	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.117	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.117	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.117	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.117	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.117	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:103:24)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) getState "zigbee.0.00158d00034d695f" not found (3)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:103:24)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) getState "zigbee.0.00158d0003e72e2d" not found (3)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:103:24)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) getState "zigbee.0.00158d0003e78e9c" not found (3)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.116	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:103:24)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) getState "zigbee.0.00158d00034d800a" not found (3)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:103:24)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) getState "zigbee.0.00158d0003e79084" not found (3)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.115	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:103:24)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) getState "zigbee.0.00158d0003e72d1b" not found (3)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:103:24)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) getState "zigbee.0.00158d0003e72ce7" not found (3)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:103:24)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) getState "zigbee.0.00158d0003d41914" not found (3)
    javascript.0	2020-03-22 23:27:03.114	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:103:24)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) getState "zigbee.0.00158d0003d418de" not found (3)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:103:24)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) getState "zigbee.0.00158d00034d7fb0" not found (3)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at process._tickCallback (internal/process/next_tick.js:68:7)
    javascript.0	2020-03-22 23:27:03.113	warn	(6849) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
    javascript.0	2020-03-22 23:27:03.112	warn	(6849) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
    javascript.0	2020-03-22 23:27:03.112	warn	(6849) at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:71697)
    javascript.0	2020-03-22 23:27:03.112	warn	(6849) at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1977:42
    javascript.0	2020-03-22 23:27:03.112	warn	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:96:13)
    javascript.0	2020-03-22 23:27:03.112	warn	(6849) at main (script.js.common.Vis.Fensterauswertung:103:24)
    javascript.0	2020-03-22 23:27:03.111	warn	(6849) getState "hm-rpc.2.0007DA49992A68" not found (3)
    

    Hier ein Bild der Einstellungen:

    Unbenannt.PNG
    Unbenannt1.PNG

    P Offline
    P Offline
    Pittini
    Developer
    wrote on last edited by Pittini
    #69

    @Dominik-F sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

    Hast du eine Idee?

    Ja, Du hast die Funktion "Fenster" dem ganzen Channel inkl aller Unterelemente zugewiesen was sinnfrei ist. NUR der eine Datenpunkt welcher sich bei Öffnen/schliessen des Fensters ändert darf die Funktion "Fenster" kriegen, siehe auch Text und Bild der Installationsanweisung.

    Inked1584916202828-unbenannt_LI.jpgInked1584916209102-unbenannt1_LI.jpg

    Dominik F.D M 2 Replies Last reply
    0
    • D der-eine

      @heinzie komische das das iobroker Zeichen und Smarthome bei Dir unten steht.
      Wo rufst Du aktuell die VIS auf? PC oder Handy?

      H Offline
      H Offline
      heinzie
      wrote on last edited by
      #70

      @der-eine

      so bin jetzt etwas weiter, habe erst einmal die Scrounger-Widgets deinstalliert.
      Dann alles neu hochgefahren. Die Links laufen jetzt mit dem Menü.
      Bei der Aktion sind mir nur leider die icons abhanden gekommen. Welchen Satz muss ich denn dafür installieren?
      0ef65f2e-8f04-494e-b1c6-1993e8175415-grafik.png

      D 1 Reply Last reply
      0
      • H heinzie

        @der-eine

        so bin jetzt etwas weiter, habe erst einmal die Scrounger-Widgets deinstalliert.
        Dann alles neu hochgefahren. Die Links laufen jetzt mit dem Menü.
        Bei der Aktion sind mir nur leider die icons abhanden gekommen. Welchen Satz muss ich denn dafür installieren?
        0ef65f2e-8f04-494e-b1c6-1993e8175415-grafik.png

        D Offline
        D Offline
        der-eine
        wrote on last edited by
        #71

        @heinzie Du musst im CSS Reiter wo bei mir Testumgebung unterstrichen ist, den Namen der VIS eingeben.

        Bildschirmfoto 2020-03-23 um 10.35.00.png

        H 1 Reply Last reply
        0
        • P Pittini

          @Dominik-F sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

          Hast du eine Idee?

          Ja, Du hast die Funktion "Fenster" dem ganzen Channel inkl aller Unterelemente zugewiesen was sinnfrei ist. NUR der eine Datenpunkt welcher sich bei Öffnen/schliessen des Fensters ändert darf die Funktion "Fenster" kriegen, siehe auch Text und Bild der Installationsanweisung.

          Inked1584916202828-unbenannt_LI.jpgInked1584916209102-unbenannt1_LI.jpg

          Dominik F.D Offline
          Dominik F.D Offline
          Dominik F.
          wrote on last edited by
          #72

          @Pittini

          Okay, ich habe das nun geändert und nun kommt, sobald ich ein Fenster öffne folgender Fehler:

          javascript.0	2020-03-23 11:25:37.333	error	(6849) at processImmediate (timers.js:658:5)
          javascript.0	2020-03-23 11:25:37.333	error	(6849) at tryOnImmediate (timers.js:676:5)
          javascript.0	2020-03-23 11:25:37.333	error	(6849) at runCallback (timers.js:705:18)
          javascript.0	2020-03-23 11:25:37.333	error	(6849) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4851:37)
          javascript.0	2020-03-23 11:25:37.333	error	(6849) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:450:25)
          javascript.0	2020-03-23 11:25:37.333	error	(6849) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1123:38)
          javascript.0	2020-03-23 11:25:37.333	error	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:267:17)
          javascript.0	2020-03-23 11:25:37.333	error	(6849) at CheckWindow (script.js.common.Vis.Fensterauswertung:137:34)
          javascript.0	2020-03-23 11:25:37.333	error	(6849) Error in callback: ReferenceError: WriteEventLog is not defined
          
          P 1 Reply Last reply
          0
          • Dominik F.D Dominik F.

            @Pittini

            Okay, ich habe das nun geändert und nun kommt, sobald ich ein Fenster öffne folgender Fehler:

            javascript.0	2020-03-23 11:25:37.333	error	(6849) at processImmediate (timers.js:658:5)
            javascript.0	2020-03-23 11:25:37.333	error	(6849) at tryOnImmediate (timers.js:676:5)
            javascript.0	2020-03-23 11:25:37.333	error	(6849) at runCallback (timers.js:705:18)
            javascript.0	2020-03-23 11:25:37.333	error	(6849) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4851:37)
            javascript.0	2020-03-23 11:25:37.333	error	(6849) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:450:25)
            javascript.0	2020-03-23 11:25:37.333	error	(6849) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1123:38)
            javascript.0	2020-03-23 11:25:37.333	error	(6849) at Object.<anonymous> (script.js.common.Vis.Fensterauswertung:267:17)
            javascript.0	2020-03-23 11:25:37.333	error	(6849) at CheckWindow (script.js.common.Vis.Fensterauswertung:137:34)
            javascript.0	2020-03-23 11:25:37.333	error	(6849) Error in callback: ReferenceError: WriteEventLog is not defined
            
            P Offline
            P Offline
            Pittini
            Developer
            wrote on last edited by
            #73

            @Dominik-F sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

            Okay, ich habe das nun geändert und nun kommt, sobald ich ein Fenster öffne folgender Fehler:

            Nochn Konfigurationsfehler. Du hast kein Eventlog, also musste das in Zeile 17 auch von true auf false setzen. Und vermutlich (kenn ja Dein setup nicht) auch bei Zeile 16.

            Dominik F.D 1 Reply Last reply
            0
            • P Pittini

              @Dominik-F sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

              Okay, ich habe das nun geändert und nun kommt, sobald ich ein Fenster öffne folgender Fehler:

              Nochn Konfigurationsfehler. Du hast kein Eventlog, also musste das in Zeile 17 auch von true auf false setzen. Und vermutlich (kenn ja Dein setup nicht) auch bei Zeile 16.

              Dominik F.D Offline
              Dominik F.D Offline
              Dominik F.
              wrote on last edited by
              #74

              @Pittini

              Das wars. Was ist Eventlog denn überhaupt? Zeile 16 hatte ich schon auf false, eventlog hatte ich aus Unwissenheit auf true gelassen.

              P 1 Reply Last reply
              0
              • Dominik F.D Dominik F.

                @Pittini

                Das wars. Was ist Eventlog denn überhaupt? Zeile 16 hatte ich schon auf false, eventlog hatte ich aus Unwissenheit auf true gelassen.

                P Offline
                P Offline
                Pittini
                Developer
                wrote on last edited by
                #75

                @Dominik-F sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                Was ist Eventlog denn überhaupt?

                Eventlog is bei mir ne globale Funktion welche nur mir relevante (Viel weniger als das normale Log) Meldungen in nen DP schreibt und der wird im Vis angezeigt. Sieht dann so aus:

                2020-03-23 11_53_08-vis.png

                D 1 Reply Last reply
                0
                • P Pittini

                  @Dominik-F sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                  Was ist Eventlog denn überhaupt?

                  Eventlog is bei mir ne globale Funktion welche nur mir relevante (Viel weniger als das normale Log) Meldungen in nen DP schreibt und der wird im Vis angezeigt. Sieht dann so aus:

                  2020-03-23 11_53_08-vis.png

                  D Offline
                  D Offline
                  der-eine
                  wrote on last edited by
                  #76

                  @Pittini hast Du auch so eine "Nachrichten-Seite" wie hier erwähnt?

                  @Tirador sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                  2020-03-20 19_20_29-vis.png

                  P 1 Reply Last reply
                  0
                  • D der-eine

                    @Pittini hast Du auch so eine "Nachrichten-Seite" wie hier erwähnt?

                    @Tirador sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                    2020-03-20 19_20_29-vis.png

                    P Offline
                    P Offline
                    Pittini
                    Developer
                    wrote on last edited by
                    #77

                    @der-eine sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                    hast Du auch so eine "Nachrichten-Seite" wie hier erwähnt?

                    Jaein, is bei mir "etwas" mehr, aber die Übersichtsseite käme dem nahe. Sieht so aus:

                    2020-03-23 12_00_24-vis.png

                    D 1 Reply Last reply
                    0
                    • P Pittini

                      @der-eine sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                      hast Du auch so eine "Nachrichten-Seite" wie hier erwähnt?

                      Jaein, is bei mir "etwas" mehr, aber die Übersichtsseite käme dem nahe. Sieht so aus:

                      2020-03-23 12_00_24-vis.png

                      D Offline
                      D Offline
                      der-eine
                      wrote on last edited by
                      #78

                      @Pittini sieht gut aus :+1:
                      Finde die Idee gut mit den Nachrichten, dass man sie quittieren kann. Muss ich wohl
                      weiter suchen ob jemand anderes sowas schon gebaut hat ausser scrounger.

                      P 1 Reply Last reply
                      0
                      • D der-eine

                        @Pittini sieht gut aus :+1:
                        Finde die Idee gut mit den Nachrichten, dass man sie quittieren kann. Muss ich wohl
                        weiter suchen ob jemand anderes sowas schon gebaut hat ausser scrounger.

                        P Offline
                        P Offline
                        Pittini
                        Developer
                        wrote on last edited by Pittini
                        #79

                        @der-eine sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                        Finde die Idee gut mit den Nachrichten, dass man sie quittieren kann.

                        Das gibts bei bestimmten Sachen schon bei mir auch, siehtste aber nur wenn was zum quittieren gibt, da das nen PopUp ist. Hier mal für Dich simuliert:

                        2020-03-23 12_08_04-vis.png

                        Das Popup holt sich den Text aus nem Datenpunkt der bei Bedarf beschrieben wird, gleichzeitig wird die sichtbarbeit dann auf true gesetzt in nem DP und da isn Binding im Vis drauf. Also eigentlich ist das Popup immer da, man siehts nur nicht.

                        D 1 Reply Last reply
                        0
                        • P Pittini

                          @der-eine sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                          Finde die Idee gut mit den Nachrichten, dass man sie quittieren kann.

                          Das gibts bei bestimmten Sachen schon bei mir auch, siehtste aber nur wenn was zum quittieren gibt, da das nen PopUp ist. Hier mal für Dich simuliert:

                          2020-03-23 12_08_04-vis.png

                          Das Popup holt sich den Text aus nem Datenpunkt der bei Bedarf beschrieben wird, gleichzeitig wird die sichtbarbeit dann auf true gesetzt in nem DP und da isn Binding im Vis drauf. Also eigentlich ist das Popup immer da, man siehts nur nicht.

                          D Offline
                          D Offline
                          der-eine
                          wrote on last edited by
                          #80

                          @Pittini das kommt dem schon nahe. Wenn jetzt mehrere Ereignisse zum quittieren wären, sind die dann alle in einem Fenster oder jedes Ereigniss ein Popup?
                          Wie hast Du das realisiert? :grin:

                          P 1 Reply Last reply
                          0
                          • D der-eine

                            @Pittini das kommt dem schon nahe. Wenn jetzt mehrere Ereignisse zum quittieren wären, sind die dann alle in einem Fenster oder jedes Ereigniss ein Popup?
                            Wie hast Du das realisiert? :grin:

                            P Offline
                            P Offline
                            Pittini
                            Developer
                            wrote on last edited by
                            #81

                            @der-eine sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                            sind die dann alle in einem Fenster oder jedes Ereigniss ein Popup?

                            Die werden in dem einen Popup gesammelt, gibt dann notfalls wenns zu viele werden nen Scrollbalken und die Titelzeile ändert sich von Info/Fehler, zu "Mehrere Ereignisse".

                            D 1 Reply Last reply
                            0
                            • P Pittini

                              @der-eine sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                              sind die dann alle in einem Fenster oder jedes Ereigniss ein Popup?

                              Die werden in dem einen Popup gesammelt, gibt dann notfalls wenns zu viele werden nen Scrollbalken und die Titelzeile ändert sich von Info/Fehler, zu "Mehrere Ereignisse".

                              D Offline
                              D Offline
                              der-eine
                              wrote on last edited by
                              #82

                              @Pittini das find ich gut. Würdest Du mir das Widget zur verfügung stellen? Das heisst, Du hast einen DP in den alles reingeschrieben wird. Wie macht man das, dass nicht der erste Text vom zweiten überschrieben wird?

                              P 1 Reply Last reply
                              0
                              • D Offline
                                D Offline
                                darkiop
                                Most Active
                                wrote on last edited by
                                #83

                                @Dominik-F sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                                ihr müsst dazu wissen, dass MD CSS und MDW von Scrounger verschiedene Versionen vom CSS nutzen und es zu Komplikationen kommen kann und in der Vergangenheit auch schon öfter kam.
                                Man sollte also nur das CSS von Uhula nutzen

                                Die Widgets von Scrounger und das CSS von Uhula funktionieren zusammen. Das was du meinst ist:

                                Adapter "iobroker.vis-material" = stellt eine ältere Version von Uhulas CSS bereit und das manuelle einfügen des CSS innerhalb VIS Edit.

                                Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                                Dominik F.D 1 Reply Last reply
                                0
                                • D darkiop

                                  @Dominik-F sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                                  ihr müsst dazu wissen, dass MD CSS und MDW von Scrounger verschiedene Versionen vom CSS nutzen und es zu Komplikationen kommen kann und in der Vergangenheit auch schon öfter kam.
                                  Man sollte also nur das CSS von Uhula nutzen

                                  Die Widgets von Scrounger und das CSS von Uhula funktionieren zusammen. Das was du meinst ist:

                                  Adapter "iobroker.vis-material" = stellt eine ältere Version von Uhulas CSS bereit und das manuelle einfügen des CSS innerhalb VIS Edit.

                                  Dominik F.D Offline
                                  Dominik F.D Offline
                                  Dominik F.
                                  wrote on last edited by
                                  #84

                                  @darkiop

                                  Danke für die Berichtigung!

                                  @Pittini

                                  Danke für die Erklärung. Ich hätte noch eine Idee dein Skript zu erweitern. Bei meinem jetzigem Fensterscript wird in einen Datenpunkt das geöffnete Fenster geschrieben. Könnte man das eventuell auch bei deinem einbringen?

                                  P 1 Reply Last reply
                                  0
                                  • D der-eine

                                    @Pittini das find ich gut. Würdest Du mir das Widget zur verfügung stellen? Das heisst, Du hast einen DP in den alles reingeschrieben wird. Wie macht man das, dass nicht der erste Text vom zweiten überschrieben wird?

                                    P Offline
                                    P Offline
                                    Pittini
                                    Developer
                                    wrote on last edited by
                                    #85

                                    @der-eine sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                                    Würdest Du mir das Widget zur verfügung stellen? Das heisst, Du hast einen DP in den alles reingeschrieben wird. Wie macht man das, dass nicht der erste Text vom zweiten überschrieben wird?

                                    Das is kein Widget im eigentlichen Sinn, sondern ein View, der bei allen page... Seiten mit z-order 100 unsichtbar drüberliegt.

                                    Hier der View (einfügen in leeren View mit "Widgets importieren".

                                    [{"tpl":"tplValueBoolCtrl","data":{"oid":"Mein_Zeugs.0.PopUp.PopUp","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_false":"<img height=35px src='/icons-mfd-svg/control_cancel.svg'>","html_true":"<img height=35px src='/icons-mfd-svg/control_cancel.svg'>"},"style":{"left":"calc(100% - 51px)","top":"0px","width":"35px","height":"35px","z-index":"101","cursor":"pointer"},"widgetSet":"basic"},{"tpl":"tplValueBoolCtrl","data":{"oid":"javascript.0.PopUp.Sichtbar","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"class":"mdui-button mdui-center","html_false":"OK","html_true":"OK"},"style":{"left":"calc(50% - 30px)","top":"160px","z-index":"101","width":"60px","height":"20px","margin-top":"","padding-top":"5px","background-color":"silver","color":"black","border-width":"","border-color":"","border-style":"","box-shadow":"2px 2px 1px black","cursor":"pointer"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.PopUp.Titel","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"0px","top":"0px","background-color":"{javascript.0.PopUp.TitelHintergrundFarbe}","height":"35px","width":"100%","text-align":"left","padding-top":"","z-index":"50","line-height":"30px","font-weight":"bold","font-size":"18px","padding-left":"10px"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"{javascript.0.PopUp.Text}","class":"mdui-value"},"style":{"left":"16px","top":"40px","width":"299px","height":"119px","z-index":"2","overflow-x":"","overflow-y":"auto"},"widgetSet":"basic"}]
                                    

                                    Das wichtigere ist das dazugehörige Skript. Bei mir ist das als Globales Skript abgelegt, sodass ich aus jedem anderen Skript die Funktion aufrufen kann. Da ist das Eventlog auch mit dabei.

                                    //Globales Script zum Anzeigen eines PopUp Fensters, mit Historyfunction
                                    
                                    const praefixPopUp = "javascript.0.PopUp."
                                    const noDuplicateMsgs = false;
                                    
                                    //Datenpunkte anlegen 
                                    createState(praefixPopUp + "Sichtbar", false, false, { read: true, write: true, name: "PopUp sichtbar?", type: "boolean", role: "switch", def: false }); //Legt fest ob Popup sichtbar ist
                                    createState(praefixPopUp + "Titel", "", false, { read: true, write: true, name: "Titel des Popups", type: "string", role: "text", def: "" }); //
                                    createState(praefixPopUp + "TitelHintergrundFarbe", "", false, { read: true, write: true, name: "Hintergrundfarbe des Titels", type: "string", role: "text", def: "" }); //
                                    createState(praefixPopUp + "Text", "", false, { read: true, write: true, name: "Popup Text", type: "string", role: "text", def: "" }); //
                                    createState(praefixPopUp + "Historie", "", false, { read: true, write: true, name: "History für verpasste PopUps", type: "string", role: "text", def: "" }); //
                                    
                                    
                                    function ShowPopUp(show, PopUpText, PopUpTextTitel, PopUpBg) {
                                       let ActualVisibleState = getState(praefixPopUp + "Sichtbar").val; // Aktuellen Status in Variable schreiben um mehrere identische GetStates zu vermeiden
                                       let ActualHistory = getState(praefixPopUp + "Historie").val; //Aktuellen Historyeintrag laden
                                    
                                       //Prüfen ob aktueller Text schon in History vorhanden
                                       if (ActualHistory.search(PopUpText) == -1) { //Wenn anzuzeigender Text noch nicht in Historie
                                           if (ActualVisibleState == true && show == true) { //Es wird bereits ein PopUp angezeigt und ein weiteres soll gezeigt werden
                                    
                                               setState(praefixPopUp + "Historie", ActualHistory + "<div style=background-color:" + PopUpBg + ">" + formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + PopUpTextTitel + ":<br> " + PopUpText + "</div><br>");
                                               ActualHistory = ActualHistory + "<div style=background-color:" + PopUpBg + ">" + formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + PopUpTextTitel + ":<br> " + PopUpText + "</div><br>";
                                               setState(praefixPopUp + "Titel", "Mehrere verpasste Ereignisse"); //Titel setzen
                                               setState(praefixPopUp + "TitelHintergrundFarbe", "DarkOrange"); // Titelhintergrundfarbe setzen
                                               setState(praefixPopUp + "Text", ActualHistory); // InfoText setzen
                                           }
                                           else if (ActualVisibleState == false) { // Es wird aktuell noch kein PopUp angezeigt
                                               setState(praefixPopUp + "Titel", PopUpTextTitel); //Titel setzen
                                               setState(praefixPopUp + "TitelHintergrundFarbe", PopUpBg); // Titelhintergrundfarbe setzen
                                               setState(praefixPopUp + "Text", formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + PopUpText); // InfoText setzen
                                               setState(praefixPopUp + "Sichtbar", show); // Anzeigen
                                               setState(praefixPopUp + "Historie", ActualHistory + "<div style=background-color:" + PopUpBg + ">" + formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + PopUpTextTitel + ":<br> " + PopUpText + "</div><br>")
                                           };
                                       }
                                       else {
                                           log("Text ist schon mal da = " + ActualHistory.search(PopUpText));
                                       };
                                    };
                                    
                                    function ClearPopUp() { // Alle Werte leeren
                                       setState(praefixPopUp + "Titel", "");
                                       setState(praefixPopUp + "TitelHintergrundFarbe", "");
                                       setState(praefixPopUp + "Text", "");
                                       setState(praefixPopUp + "Historie", "");
                                    };
                                    
                                    on(praefixPopUp + "Sichtbar", function (dp) { //Bei Statusänderung
                                       if (getState(praefixPopUp + "Sichtbar").val == false) {
                                           ClearPopUp();
                                       };
                                    });
                                    
                                    
                                    //Script um Events zu loggen
                                    
                                    const praefixEventLog = "javascript.0.EventLog.";
                                    const MaxEventEntrys = 16;
                                    let LastEventText = "";
                                    
                                    let QueueTimeout = 0;
                                    //Datenpunkt anlegen 
                                    createState(praefixEventLog + "EventList", "", false, { read: true, write: true, name: "Eventlog Text", type: "string", role: "text", def: "" }); //
                                    createState(praefixEventLog + "MsgCounter", 0, false, { read: true, write: true, name: "Zählt die Nachrichten", type: "number", def: 0 });
                                    
                                    function WriteEventLog(EventText) {
                                    
                                       if ((EventText != LastEventText && noDuplicateMsgs == true) || noDuplicateMsgs==false) { //Wiederholungen vermeiden
                                           LastEventText = EventText;
                                    
                                           log("Timeout=" + QueueTimeout);
                                           setTimeout(function () { //
                                               let EventList = getState(praefixEventLog + "EventList").val;
                                    
                                               let MsgCounter = getState(praefixEventLog + "MsgCounter").val; //Nachrichtenzähler laden, erhöhen und schreiben
                                               MsgCounter++;
                                               setState(praefixEventLog + "MsgCounter", MsgCounter);
                                    
                                               //log(EventText);
                                               let numNewlines = EventList.split('>').length - 1; // Anzahl der Zeilen in der Eventlist ermitteln.
                                               //log(EventList.split('>').length - 1 + "via Split - "+numNewlines + " via Schleife") ; 
                                    
                                               if (numNewlines + 1 >= MaxEventEntrys) { // Wenn max Anzahl an Einträgen überschritten
                                                   EventList = EventList.substr(EventList.indexOf(">") + 1, EventList.length); //Ältesten Eintrag löschen
                                               };
                                    
                                               //log(numNewlines.toString());
                                               if (EventList != "") {
                                                   EventList = EventList + "<br>" + formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + EventText;
                                                   //setState(praefixEventLog + "EventList", EventList + "<br>" + formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + EventText);
                                                   setState(praefixEventLog + "EventList", EventList);
                                               }
                                               else {
                                                   EventList = formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + EventText;
                                                   //setState(praefixEventLog + "EventList", formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + EventText);
                                                   setState(praefixEventLog + "EventList", EventList);
                                               };
                                    
                                               //log(EventList);
                                           }, QueueTimeout);
                                           QueueTimeout = QueueTimeout + 200;
                                       };
                                       setTimeout(function () { //Timeout wieder resetten
                                           QueueTimeout = 0;
                                       }, 2000);
                                    
                                    };
                                    

                                    Sobald Du das drin hast, kannst von jeder beliebigen Funktion aus, mit:

                                    ShowPopUp(true, "Fehler: Brenner aus, oder Stromausfall", "Heizung", "red");
                                    

                                    wobei der erste Parameter das Popup sichtbar schaltet, der 2te den Text angibt, der 3te den Kopfzeilentext, der 4te die Kopfzeilenhintergrundfarbe definiert, das PopUp aktivieren. Es werden Datenpunkte angelegt:

                                    Inked2020-03-23 12_42_27-objects - ioBroker_LI.jpg
                                    Die Datenpunkte dürften selbsterklärend sein.

                                    Beim Eventlog isses weniger, ein Text ist zu übergeben, Zeitstempel fügt das Skript automatisch bei.

                                    WriteEventLog("Fehler: Heizung Brenner aus, oder Stromausfall");
                                    

                                    Viel Spaß

                                    D 1 Reply Last reply
                                    2
                                    • P Pittini

                                      @der-eine sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                                      Würdest Du mir das Widget zur verfügung stellen? Das heisst, Du hast einen DP in den alles reingeschrieben wird. Wie macht man das, dass nicht der erste Text vom zweiten überschrieben wird?

                                      Das is kein Widget im eigentlichen Sinn, sondern ein View, der bei allen page... Seiten mit z-order 100 unsichtbar drüberliegt.

                                      Hier der View (einfügen in leeren View mit "Widgets importieren".

                                      [{"tpl":"tplValueBoolCtrl","data":{"oid":"Mein_Zeugs.0.PopUp.PopUp","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_false":"<img height=35px src='/icons-mfd-svg/control_cancel.svg'>","html_true":"<img height=35px src='/icons-mfd-svg/control_cancel.svg'>"},"style":{"left":"calc(100% - 51px)","top":"0px","width":"35px","height":"35px","z-index":"101","cursor":"pointer"},"widgetSet":"basic"},{"tpl":"tplValueBoolCtrl","data":{"oid":"javascript.0.PopUp.Sichtbar","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"class":"mdui-button mdui-center","html_false":"OK","html_true":"OK"},"style":{"left":"calc(50% - 30px)","top":"160px","z-index":"101","width":"60px","height":"20px","margin-top":"","padding-top":"5px","background-color":"silver","color":"black","border-width":"","border-color":"","border-style":"","box-shadow":"2px 2px 1px black","cursor":"pointer"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.0.PopUp.Titel","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":true,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"0px","top":"0px","background-color":"{javascript.0.PopUp.TitelHintergrundFarbe}","height":"35px","width":"100%","text-align":"left","padding-top":"","z-index":"50","line-height":"30px","font-weight":"bold","font-size":"18px","padding-left":"10px"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"{javascript.0.PopUp.Text}","class":"mdui-value"},"style":{"left":"16px","top":"40px","width":"299px","height":"119px","z-index":"2","overflow-x":"","overflow-y":"auto"},"widgetSet":"basic"}]
                                      

                                      Das wichtigere ist das dazugehörige Skript. Bei mir ist das als Globales Skript abgelegt, sodass ich aus jedem anderen Skript die Funktion aufrufen kann. Da ist das Eventlog auch mit dabei.

                                      //Globales Script zum Anzeigen eines PopUp Fensters, mit Historyfunction
                                      
                                      const praefixPopUp = "javascript.0.PopUp."
                                      const noDuplicateMsgs = false;
                                      
                                      //Datenpunkte anlegen 
                                      createState(praefixPopUp + "Sichtbar", false, false, { read: true, write: true, name: "PopUp sichtbar?", type: "boolean", role: "switch", def: false }); //Legt fest ob Popup sichtbar ist
                                      createState(praefixPopUp + "Titel", "", false, { read: true, write: true, name: "Titel des Popups", type: "string", role: "text", def: "" }); //
                                      createState(praefixPopUp + "TitelHintergrundFarbe", "", false, { read: true, write: true, name: "Hintergrundfarbe des Titels", type: "string", role: "text", def: "" }); //
                                      createState(praefixPopUp + "Text", "", false, { read: true, write: true, name: "Popup Text", type: "string", role: "text", def: "" }); //
                                      createState(praefixPopUp + "Historie", "", false, { read: true, write: true, name: "History für verpasste PopUps", type: "string", role: "text", def: "" }); //
                                      
                                      
                                      function ShowPopUp(show, PopUpText, PopUpTextTitel, PopUpBg) {
                                         let ActualVisibleState = getState(praefixPopUp + "Sichtbar").val; // Aktuellen Status in Variable schreiben um mehrere identische GetStates zu vermeiden
                                         let ActualHistory = getState(praefixPopUp + "Historie").val; //Aktuellen Historyeintrag laden
                                      
                                         //Prüfen ob aktueller Text schon in History vorhanden
                                         if (ActualHistory.search(PopUpText) == -1) { //Wenn anzuzeigender Text noch nicht in Historie
                                             if (ActualVisibleState == true && show == true) { //Es wird bereits ein PopUp angezeigt und ein weiteres soll gezeigt werden
                                      
                                                 setState(praefixPopUp + "Historie", ActualHistory + "<div style=background-color:" + PopUpBg + ">" + formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + PopUpTextTitel + ":<br> " + PopUpText + "</div><br>");
                                                 ActualHistory = ActualHistory + "<div style=background-color:" + PopUpBg + ">" + formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + PopUpTextTitel + ":<br> " + PopUpText + "</div><br>";
                                                 setState(praefixPopUp + "Titel", "Mehrere verpasste Ereignisse"); //Titel setzen
                                                 setState(praefixPopUp + "TitelHintergrundFarbe", "DarkOrange"); // Titelhintergrundfarbe setzen
                                                 setState(praefixPopUp + "Text", ActualHistory); // InfoText setzen
                                             }
                                             else if (ActualVisibleState == false) { // Es wird aktuell noch kein PopUp angezeigt
                                                 setState(praefixPopUp + "Titel", PopUpTextTitel); //Titel setzen
                                                 setState(praefixPopUp + "TitelHintergrundFarbe", PopUpBg); // Titelhintergrundfarbe setzen
                                                 setState(praefixPopUp + "Text", formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + PopUpText); // InfoText setzen
                                                 setState(praefixPopUp + "Sichtbar", show); // Anzeigen
                                                 setState(praefixPopUp + "Historie", ActualHistory + "<div style=background-color:" + PopUpBg + ">" + formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + PopUpTextTitel + ":<br> " + PopUpText + "</div><br>")
                                             };
                                         }
                                         else {
                                             log("Text ist schon mal da = " + ActualHistory.search(PopUpText));
                                         };
                                      };
                                      
                                      function ClearPopUp() { // Alle Werte leeren
                                         setState(praefixPopUp + "Titel", "");
                                         setState(praefixPopUp + "TitelHintergrundFarbe", "");
                                         setState(praefixPopUp + "Text", "");
                                         setState(praefixPopUp + "Historie", "");
                                      };
                                      
                                      on(praefixPopUp + "Sichtbar", function (dp) { //Bei Statusänderung
                                         if (getState(praefixPopUp + "Sichtbar").val == false) {
                                             ClearPopUp();
                                         };
                                      });
                                      
                                      
                                      //Script um Events zu loggen
                                      
                                      const praefixEventLog = "javascript.0.EventLog.";
                                      const MaxEventEntrys = 16;
                                      let LastEventText = "";
                                      
                                      let QueueTimeout = 0;
                                      //Datenpunkt anlegen 
                                      createState(praefixEventLog + "EventList", "", false, { read: true, write: true, name: "Eventlog Text", type: "string", role: "text", def: "" }); //
                                      createState(praefixEventLog + "MsgCounter", 0, false, { read: true, write: true, name: "Zählt die Nachrichten", type: "number", def: 0 });
                                      
                                      function WriteEventLog(EventText) {
                                      
                                         if ((EventText != LastEventText && noDuplicateMsgs == true) || noDuplicateMsgs==false) { //Wiederholungen vermeiden
                                             LastEventText = EventText;
                                      
                                             log("Timeout=" + QueueTimeout);
                                             setTimeout(function () { //
                                                 let EventList = getState(praefixEventLog + "EventList").val;
                                      
                                                 let MsgCounter = getState(praefixEventLog + "MsgCounter").val; //Nachrichtenzähler laden, erhöhen und schreiben
                                                 MsgCounter++;
                                                 setState(praefixEventLog + "MsgCounter", MsgCounter);
                                      
                                                 //log(EventText);
                                                 let numNewlines = EventList.split('>').length - 1; // Anzahl der Zeilen in der Eventlist ermitteln.
                                                 //log(EventList.split('>').length - 1 + "via Split - "+numNewlines + " via Schleife") ; 
                                      
                                                 if (numNewlines + 1 >= MaxEventEntrys) { // Wenn max Anzahl an Einträgen überschritten
                                                     EventList = EventList.substr(EventList.indexOf(">") + 1, EventList.length); //Ältesten Eintrag löschen
                                                 };
                                      
                                                 //log(numNewlines.toString());
                                                 if (EventList != "") {
                                                     EventList = EventList + "<br>" + formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + EventText;
                                                     //setState(praefixEventLog + "EventList", EventList + "<br>" + formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + EventText);
                                                     setState(praefixEventLog + "EventList", EventList);
                                                 }
                                                 else {
                                                     EventList = formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + EventText;
                                                     //setState(praefixEventLog + "EventList", formatDate(getDateObject((new Date().getTime())), "TT.MM. hh:mm:ss") + " - " + EventText);
                                                     setState(praefixEventLog + "EventList", EventList);
                                                 };
                                      
                                                 //log(EventList);
                                             }, QueueTimeout);
                                             QueueTimeout = QueueTimeout + 200;
                                         };
                                         setTimeout(function () { //Timeout wieder resetten
                                             QueueTimeout = 0;
                                         }, 2000);
                                      
                                      };
                                      

                                      Sobald Du das drin hast, kannst von jeder beliebigen Funktion aus, mit:

                                      ShowPopUp(true, "Fehler: Brenner aus, oder Stromausfall", "Heizung", "red");
                                      

                                      wobei der erste Parameter das Popup sichtbar schaltet, der 2te den Text angibt, der 3te den Kopfzeilentext, der 4te die Kopfzeilenhintergrundfarbe definiert, das PopUp aktivieren. Es werden Datenpunkte angelegt:

                                      Inked2020-03-23 12_42_27-objects - ioBroker_LI.jpg
                                      Die Datenpunkte dürften selbsterklärend sein.

                                      Beim Eventlog isses weniger, ein Text ist zu übergeben, Zeitstempel fügt das Skript automatisch bei.

                                      WriteEventLog("Fehler: Heizung Brenner aus, oder Stromausfall");
                                      

                                      Viel Spaß

                                      D Offline
                                      D Offline
                                      der-eine
                                      wrote on last edited by
                                      #86

                                      @Pittini Danke schau ich mir an. Hoffe ich kann mich melden wenn was unklar ist? :flushed:

                                      1 Reply Last reply
                                      0
                                      • P Offline
                                        P Offline
                                        Pittini
                                        Developer
                                        wrote on last edited by
                                        #87

                                        @der-eine sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                                        Hoffe ich kann mich melden wenn was unklar ist?

                                        Na klar.

                                        1 Reply Last reply
                                        0
                                        • Dominik F.D Dominik F.

                                          @darkiop

                                          Danke für die Berichtigung!

                                          @Pittini

                                          Danke für die Erklärung. Ich hätte noch eine Idee dein Skript zu erweitern. Bei meinem jetzigem Fensterscript wird in einen Datenpunkt das geöffnete Fenster geschrieben. Könnte man das eventuell auch bei deinem einbringen?

                                          P Offline
                                          P Offline
                                          Pittini
                                          Developer
                                          wrote on last edited by Pittini
                                          #88

                                          @Dominik-F sagte in [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration:

                                          Bei meinem jetzigem Fensterscript wird in einen Datenpunkt das geöffnete Fenster geschrieben. Könnte man das eventuell auch bei deinem einbringen?

                                          Also wenn das nicht langt was schon drin ist weis ich ja auch nimmer? Willst jetzt noch wissen ob das rechte oder linke Fenster im Raum offen ist? Wenn ja fände ich das übertrieben. Aber klar, grundsätzlich kann man alles einbauen, aber ich seh in dem Fall keinen Grund, außer Du kannst mir einen erklären. Oder meinst sowas wie nen DP ala "Fenster offen in": und dann als Wert entweder "nirgends", oder halt ne Liste mit Räumen mit offenen Fenstern?

                                          2020-03-23 12_56_25-Window.png

                                          Dominik F.D 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

                                          540

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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