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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Vorlage] Generisches Fensteroffenskript + Vis

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

[Vorlage] Generisches Fensteroffenskript + Vis

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascripttemplatemonitoring
768 Beiträge 81 Kommentatoren 222.6k Aufrufe 97 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • qqolliQ qqolli

    @crunchip
    Ich denke schon, das alles "richtig" eingestellt ist da ich für jedes öffnen und schließen in der Tabelle die entsprechenden Einträge bekomme. Alexa ID habe ich geprüft, stimmt. Habe extra mal eine falsche im Skript eingetragen, kam auch prompt eine Fehlermeldung.

    Habe mal ein Log angehängt, zeigt das öffnen und schließen eines Fensters:

    avascript.0	2020-07-10 17:21:50.351	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenings: Arbeitszimmer 1 offene Tür<br>Badezimmer undefined<br>Badezimmer EG 1 offene Tür<br>Gästezimmer EG 1 offenes Fenster<br>Gästezimmer OG 1 offenes Fe
    javascript.0	2020-07-10 17:21:50.351	info	(4270) script.js.Olli.TFK_Zählen: CreateOpenRoomsList()
    javascript.0	2020-07-10 17:21:50.350	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithTiltedDoors: Keine Tür gekippt
    javascript.0	2020-07-10 17:21:50.350	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithTiltedDoorsList
    javascript.0	2020-07-10 17:21:50.349	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenDoors: Arbeitszimmer 1 offene Tür<br>Badezimmer EG 1 offene Tür<br>Schlafzimmer 1 offene Tür
    javascript.0	2020-07-10 17:21:50.349	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithOpenDoorsList
    javascript.0	2020-07-10 17:21:50.349	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithTiltedWindows: Keine Fenster gekippt
    javascript.0	2020-07-10 17:21:50.348	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithTiltedWindowsList
    javascript.0	2020-07-10 17:21:50.348	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenWindows: Badezimmer 3 offene Fenster<br>Gästezimmer EG 1 offenes Fenster<br>Gästezimmer OG 1 offenes Fenster<br>Keller 2 offene Fenster<br>Küche 1 offene
    javascript.0	2020-07-10 17:21:50.347	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithOpenWindowsList
    javascript.0	2020-07-10 17:21:50.347	info	(4270) script.js.Olli.TFK_Zählen: RoomStateTimeStamp at checkWindow= 1594204746231 ms =08.07.2020 12:39:06
    javascript.0	2020-07-10 17:21:50.346	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithVentWarnings
    javascript.0	2020-07-10 17:21:50.346	info	(4270) script.js.Olli.TFK_Zählen: Room 7 = Keller is open or disabled, no vent warning set
    javascript.0	2020-07-10 17:21:50.346	info	(4270) script.js.Olli.TFK_Zählen: Reaching VentCheck x=7 Init=false VentwarnTime[x]=0 RoomStateTimeStamp[x]=1594204746231
    javascript.0	2020-07-10 17:21:50.345	info	(4270) script.js.Olli.TFK_Zählen: Offene Türen gesamt= 3
    javascript.0	2020-07-10 17:21:50.344	info	(4270) script.js.Olli.TFK_Zählen: Offene Fenster gesamt= 12
    javascript.0	2020-07-10 17:21:50.343	info	(4270) script.js.Olli.TFK_Zählen: TempMessageLog=10.07.2020 17:21:50: Keller Fenster geöffnet!,10.07.2020 17:21:02: Keller Fenster geöffnet!,10.07.2020 17:18:35: Keller Fenster geöffnet!,10.07.2020 17
    javascript.0	2020-07-10 17:21:50.343	info	(4270) script.js.Olli.TFK_Zählen: Reaching WriteMessageLog, Message=Keller Fenster geöffnet!
    javascript.0	2020-07-10 17:21:50.342	info	(4270) script.js.Olli.TFK_Zählen: Reaching Meldung, msg= Keller Fenster geöffnet!
    javascript.0	2020-07-10 17:21:50.342	info	(4270) script.js.Olli.TFK_Zählen: Keller Fenster geöffnet
    javascript.0	2020-07-10 17:21:50.341	info	(4270) script.js.Olli.TFK_Zählen: RoomOpenWindowCount für Keller=2
    javascript.0	2020-07-10 17:21:50.341	info	(4270) script.js.Olli.TFK_Zählen: reaching CheckWindow, SensorVal[3]=open SensorOldVal=closed TempRoom=Keller SensorType[x]=Window TempRoomIndex=7
    javascript.0	2020-07-10 17:21:50.340	info	(4270) script.js.Olli.TFK_Zählen: Reaching GetRoom x=3
    javascript.0	2020-07-10 17:21:50.340	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=true typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:21:50.340	info	(4270) script.js.Olli.TFK_Zählen: Ignore Timeout for 3 exceeded, Value change happend, starting Functions
    javascript.0	2020-07-10 17:21:50.339	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=true typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:21:50.339	info	(4270) script.js.Olli.TFK_Zählen: InTimeout - Trigger= 3 Wert= true Alter Wert= false
    javascript.0	2020-07-10 17:21:40.337	info	(4270) script.js.Olli.TFK_Zählen: Activating Ignore Timeout for 3, Value to ignore=closed
    javascript.0	2020-07-10 17:21:40.337	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=false typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:21:40.337	info	(4270) script.js.Olli.TFK_Zählen: Oldstate=false
    javascript.0	2020-07-10 17:21:40.336	info	(4270) script.js.Olli.TFK_Zählen: Trigger= 3 Wert= true Alter Wert= false
    javascript.0	2020-07-10 17:21:37.013	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenings: Arbeitszimmer 1 offene Tür<br>Badezimmer undefined<br>Badezimmer EG 1 offene Tür<br>Gästezimmer EG 1 offenes Fenster<br>Gästezimmer OG 1 offenes Fe
    javascript.0	2020-07-10 17:21:37.012	info	(4270) script.js.Olli.TFK_Zählen: CreateOpenRoomsList()
    javascript.0	2020-07-10 17:21:37.012	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithTiltedDoors: Keine Tür gekippt
    javascript.0	2020-07-10 17:21:37.008	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithTiltedDoorsList
    javascript.0	2020-07-10 17:21:37.007	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenDoors: Arbeitszimmer 1 offene Tür<br>Badezimmer EG 1 offene Tür<br>Schlafzimmer 1 offene Tür
    javascript.0	2020-07-10 17:21:37.007	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithOpenDoorsList
    javascript.0	2020-07-10 17:21:37.006	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithTiltedWindows: Keine Fenster gekippt
    javascript.0	2020-07-10 17:21:37.005	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithTiltedWindowsList
    javascript.0	2020-07-10 17:21:37.005	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenWindows: Badezimmer 3 offene Fenster<br>Gästezimmer EG 1 offenes Fenster<br>Gästezimmer OG 1 offenes Fenster<br>Keller 1 offenes Fenster<br>Küche 1 offen
    javascript.0	2020-07-10 17:21:37.004	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithOpenWindowsList
    javascript.0	2020-07-10 17:21:37.004	info	(4270) script.js.Olli.TFK_Zählen: RoomStateTimeStamp at checkWindow= 1594204746231 ms =08.07.2020 12:39:06
    javascript.0	2020-07-10 17:21:37.003	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithVentWarnings
    javascript.0	2020-07-10 17:21:37.003	info	(4270) script.js.Olli.TFK_Zählen: Room 7 = Keller is open or disabled, no vent warning set
    javascript.0	2020-07-10 17:21:37.002	info	(4270) script.js.Olli.TFK_Zählen: Reaching VentCheck x=7 Init=false VentwarnTime[x]=0 RoomStateTimeStamp[x]=1594204746231
    javascript.0	2020-07-10 17:21:37.002	info	(4270) script.js.Olli.TFK_Zählen: Offene Türen gesamt= 3
    javascript.0	2020-07-10 17:21:37.001	info	(4270) script.js.Olli.TFK_Zählen: Offene Fenster gesamt= 11
    javascript.0	2020-07-10 17:21:36.999	info	(4270) script.js.Olli.TFK_Zählen: reaching ClearDoorWarnTime - [x] = 7
    javascript.0	2020-07-10 17:21:36.998	info	(4270) script.js.Olli.TFK_Zählen: reaching CheckWindow, SensorVal[3]=closed SensorOldVal=open TempRoom=Keller SensorType[x]=Window TempRoomIndex=7
    javascript.0	2020-07-10 17:21:36.998	info	(4270) script.js.Olli.TFK_Zählen: Reaching GetRoom x=3
    javascript.0	2020-07-10 17:21:36.998	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=false typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:21:36.997	info	(4270) script.js.Olli.TFK_Zählen: Ignore Timeout for 3 exceeded, Value change happend, starting Functions
    javascript.0	2020-07-10 17:21:36.997	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=false typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:21:36.996	info	(4270) script.js.Olli.TFK_Zählen: InTimeout - Trigger= 3 Wert= false Alter Wert= true
    javascript.0	2020-07-10 17:21:26.995	info	(4270) script.js.Olli.TFK_Zählen: Activating Ignore Timeout for 3, Value to ignore=open
    javascript.0	2020-07-10 17:21:26.995	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=true typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:21:26.995	info	(4270) script.js.Olli.TFK_Zählen: Oldstate=true
    javascript.0	2020-07-10 17:21:26.994	info	(4270) script.js.Olli.TFK_Zählen: Trigger= 3 Wert= false Alter Wert= true
    javascript.0	2020-07-10 17:21:10.657	info	(4270) script.js.Olli.Waschmaschine_&_Trockner.Trockner_Fertig: 06. Trockner Zähler zurücksetzen
    javascript.0	2020-07-10 17:21:10.641	info	(4270) script.js.Olli.Waschmaschine_&_Trockner.Waschmaschine_Fertig: 06. Waschmaschine Zähler zurücksetzen
    javascript.0	2020-07-10 17:21:02.924	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenings: Arbeitszimmer 1 offene Tür<br>Badezimmer undefined<br>Badezimmer EG 1 offene Tür<br>Gästezimmer EG 1 offenes Fenster<br>Gästezimmer OG 1 offenes Fe
    javascript.0	2020-07-10 17:21:02.923	info	(4270) script.js.Olli.TFK_Zählen: CreateOpenRoomsList()
    javascript.0	2020-07-10 17:21:02.923	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithTiltedDoors: Keine Tür gekippt
    javascript.0	2020-07-10 17:21:02.923	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithTiltedDoorsList
    javascript.0	2020-07-10 17:21:02.923	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenDoors: Arbeitszimmer 1 offene Tür<br>Badezimmer EG 1 offene Tür<br>Schlafzimmer 1 offene Tür
    javascript.0	2020-07-10 17:21:02.922	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithOpenDoorsList
    javascript.0	2020-07-10 17:21:02.922	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithTiltedWindows: Keine Fenster gekippt
    javascript.0	2020-07-10 17:21:02.922	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithTiltedWindowsList
    javascript.0	2020-07-10 17:21:02.922	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenWindows: Badezimmer 3 offene Fenster<br>Gästezimmer EG 1 offenes Fenster<br>Gästezimmer OG 1 offenes Fenster<br>Keller 2 offene Fenster<br>Küche 1 offene
    javascript.0	2020-07-10 17:21:02.921	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithOpenWindowsList
    javascript.0	2020-07-10 17:21:02.921	info	(4270) script.js.Olli.TFK_Zählen: RoomStateTimeStamp at checkWindow= 1594204746231 ms =08.07.2020 12:39:06
    javascript.0	2020-07-10 17:21:02.920	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithVentWarnings
    javascript.0	2020-07-10 17:21:02.920	info	(4270) script.js.Olli.TFK_Zählen: Room 7 = Keller is open or disabled, no vent warning set
    javascript.0	2020-07-10 17:21:02.920	info	(4270) script.js.Olli.TFK_Zählen: Reaching VentCheck x=7 Init=false VentwarnTime[x]=0 RoomStateTimeStamp[x]=1594204746231
    javascript.0	2020-07-10 17:21:02.920	info	(4270) script.js.Olli.TFK_Zählen: Offene Türen gesamt= 3
    javascript.0	2020-07-10 17:21:02.919	info	(4270) script.js.Olli.TFK_Zählen: Offene Fenster gesamt= 12
    javascript.0	2020-07-10 17:21:02.919	info	(4270) script.js.Olli.TFK_Zählen: TempMessageLog=10.07.2020 17:21:02: Keller Fenster geöffnet!,10.07.2020 17:18:35: Keller Fenster geöffnet!,10.07.2020 17:15:59: Keller Fenster geöffnet!,10.07.2020 17
    javascript.0	2020-07-10 17:21:02.918	info	(4270) script.js.Olli.TFK_Zählen: Reaching WriteMessageLog, Message=Keller Fenster geöffnet!
    javascript.0	2020-07-10 17:21:02.918	info	(4270) script.js.Olli.TFK_Zählen: Reaching Meldung, msg= Keller Fenster geöffnet!
    javascript.0	2020-07-10 17:21:02.917	info	(4270) script.js.Olli.TFK_Zählen: Keller Fenster geöffnet
    javascript.0	2020-07-10 17:21:02.917	info	(4270) script.js.Olli.TFK_Zählen: RoomOpenWindowCount für Keller=2
    javascript.0	2020-07-10 17:21:02.917	info	(4270) script.js.Olli.TFK_Zählen: reaching CheckWindow, SensorVal[3]=open SensorOldVal=closed TempRoom=Keller SensorType[x]=Window TempRoomIndex=7
    javascript.0	2020-07-10 17:21:02.916	info	(4270) script.js.Olli.TFK_Zählen: Reaching GetRoom x=3
    javascript.0	2020-07-10 17:21:02.916	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=true typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:21:02.916	info	(4270) script.js.Olli.TFK_Zählen: Ignore Timeout for 3 exceeded, Value change happend, starting Functions
    javascript.0	2020-07-10 17:21:02.916	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=true typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:21:02.916	info	(4270) script.js.Olli.TFK_Zählen: InTimeout - Trigger= 3 Wert= true Alter Wert= false
    javascript.0	2020-07-10 17:20:52.915	info	(4270) script.js.Olli.TFK_Zählen: Activating Ignore Timeout for 3, Value to ignore=closed
    javascript.0	2020-07-10 17:20:52.915	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=false typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:20:52.914	info	(4270) script.js.Olli.TFK_Zählen: Oldstate=false
    javascript.0	2020-07-10 17:20:52.914	info	(4270) script.js.Olli.TFK_Zählen: Trigger= 3 Wert= true Alter Wert= false
    javascript.0	2020-07-10 17:20:48.209	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenings: Arbeitszimmer 1 offene Tür<br>Badezimmer undefined<br>Badezimmer EG 1 offene Tür<br>Gästezimmer EG 1 offenes Fenster<br>Gästezimmer OG 1 offenes Fe
    javascript.0	2020-07-10 17:20:48.208	info	(4270) script.js.Olli.TFK_Zählen: CreateOpenRoomsList()
    javascript.0	2020-07-10 17:20:48.208	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithTiltedDoors: Keine Tür gekippt
    javascript.0	2020-07-10 17:20:48.207	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithTiltedDoorsList
    javascript.0	2020-07-10 17:20:48.206	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenDoors: Arbeitszimmer 1 offene Tür<br>Badezimmer EG 1 offene Tür<br>Schlafzimmer 1 offene Tür
    javascript.0	2020-07-10 17:20:48.206	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithOpenDoorsList
    javascript.0	2020-07-10 17:20:48.205	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithTiltedWindows: Keine Fenster gekippt
    javascript.0	2020-07-10 17:20:48.205	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithTiltedWindowsList
    javascript.0	2020-07-10 17:20:48.204	info	(4270) script.js.Olli.TFK_Zählen: RoomsWithOpenWindows: Badezimmer 3 offene Fenster<br>Gästezimmer EG 1 offenes Fenster<br>Gästezimmer OG 1 offenes Fenster<br>Keller 1 offenes Fenster<br>Küche 1 offen
    javascript.0	2020-07-10 17:20:48.204	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithOpenWindowsList
    javascript.0	2020-07-10 17:20:48.203	info	(4270) script.js.Olli.TFK_Zählen: RoomStateTimeStamp at checkWindow= 1594204746231 ms =08.07.2020 12:39:06
    javascript.0	2020-07-10 17:20:48.203	info	(4270) script.js.Olli.TFK_Zählen: Reaching CreateRoomsWithVentWarnings
    javascript.0	2020-07-10 17:20:48.203	info	(4270) script.js.Olli.TFK_Zählen: Room 7 = Keller is open or disabled, no vent warning set
    javascript.0	2020-07-10 17:20:48.203	info	(4270) script.js.Olli.TFK_Zählen: Reaching VentCheck x=7 Init=false VentwarnTime[x]=0 RoomStateTimeStamp[x]=1594204746231
    javascript.0	2020-07-10 17:20:48.202	info	(4270) script.js.Olli.TFK_Zählen: Offene Türen gesamt= 3
    javascript.0	2020-07-10 17:20:48.202	info	(4270) script.js.Olli.TFK_Zählen: Offene Fenster gesamt= 11
    javascript.0	2020-07-10 17:20:48.201	info	(4270) script.js.Olli.TFK_Zählen: reaching ClearDoorWarnTime - [x] = 7
    javascript.0	2020-07-10 17:20:48.201	info	(4270) script.js.Olli.TFK_Zählen: reaching CheckWindow, SensorVal[3]=closed SensorOldVal=open TempRoom=Keller SensorType[x]=Window TempRoomIndex=7
    javascript.0	2020-07-10 17:20:48.201	info	(4270) script.js.Olli.TFK_Zählen: Reaching GetRoom x=3
    javascript.0	2020-07-10 17:20:48.201	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=false typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:20:48.200	info	(4270) script.js.Olli.TFK_Zählen: Ignore Timeout for 3 exceeded, Value change happend, starting Functions
    javascript.0	2020-07-10 17:20:48.200	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=false typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:20:48.200	info	(4270) script.js.Olli.TFK_Zählen: InTimeout - Trigger= 3 Wert= false Alter Wert= true
    javascript.0	2020-07-10 17:20:38.199	info	(4270) script.js.Olli.TFK_Zählen: Activating Ignore Timeout for 3, Value to ignore=open
    javascript.0	2020-07-10 17:20:38.199	info	(4270) script.js.Olli.TFK_Zählen: Reaching CheckForHmShit val=true typof val=string x=3 Sensor[x]=deconz.0.Sensors.24.open
    javascript.0	2020-07-10 17:20:38.198	info	(4270) script.js.Olli.TFK_Zählen: Oldstate=true
    javascript.0	2020-07-10 17:20:38.198	info	(4270) script.js.Olli.TFK_Zählen: Trigger= 3 Wert= false Alter Wert= true
    
    crunchipC Abwesend
    crunchipC Abwesend
    crunchip
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #280

    @qqolli hat die Sprachausgabe schon mal funktioniert? weiter oben hattest du von Problemen geschrieben mit der neue Version und zu vor lief alles?
    welche Alexa verwendest du denn?

    umgestiegen von Proxmox auf Unraid

    qqolliQ 1 Antwort Letzte Antwort
    0
    • P Pittini

      @qqolli sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

      Habe mal ein Log angehängt, zeigt das öffnen und schließen eines Fensters:

      javascript.0	2020-07-10 17:21:02.918	info	(4270) script.js.Olli.TFK_Zählen: Reaching Meldung, msg= Keller Fenster geöffnet!
      

      Genau hier wird die Meldung abgesetzt.
      Das Skript springt die Funktion korrekt an, es wird korrekt der Text übergeben und innerhalb der Funktion gibts keine Fehlermeldung. Soweit von Skriptseite alles ok. Wenn Alexa nix sagt, sag ich mal liegts an Alexa oder deren Einstellungen. Da muß Dir wer helfen der ne Alexa hat, ich verweigere der Wanze den Zutritt hier bei mir und hab Snips laufen.

      qqolliQ Offline
      qqolliQ Offline
      qqolli
      schrieb am zuletzt editiert von
      #281

      @Pittini

      Ja, da hast Du natürlich recht. Hab das Ding auch nur geschenkt bekommen und dachte, probier es mal aus :-)

      Snips scheint eine gute Alternative zu sein, wurde aber wohl letztes Jahr von Sonos "geschluckt". Hast Du für Snips Infos, wie man was aufbaut usw. Würde mich echt interessieren.

      1 Antwort Letzte Antwort
      0
      • crunchipC crunchip

        @qqolli hat die Sprachausgabe schon mal funktioniert? weiter oben hattest du von Problemen geschrieben mit der neue Version und zu vor lief alles?
        welche Alexa verwendest du denn?

        qqolliQ Offline
        qqolliQ Offline
        qqolli
        schrieb am zuletzt editiert von
        #282

        @crunchip

        Hi, mit alles funktionieren meinte ich den Rest (also ohne Sprachausgabe). Ich benutze einen Sonos One im Alexa-Mode, kann sein das es daran liegt. Morgen bekomme ich noch ein Echo Dot (3. Generation), so das ich es mal am Wochenende ausprobieren kann, quasi Sonos vs. "Origignal". Mal sehen, ich halte Euch auf dem laufenden.

        @Pittini ,@crunchip Vielen Dank für Eure Hilfe und Mühe!

        dslraserD 1 Antwort Letzte Antwort
        0
        • qqolliQ qqolli

          @crunchip

          Hi, mit alles funktionieren meinte ich den Rest (also ohne Sprachausgabe). Ich benutze einen Sonos One im Alexa-Mode, kann sein das es daran liegt. Morgen bekomme ich noch ein Echo Dot (3. Generation), so das ich es mal am Wochenende ausprobieren kann, quasi Sonos vs. "Origignal". Mal sehen, ich halte Euch auf dem laufenden.

          @Pittini ,@crunchip Vielen Dank für Eure Hilfe und Mühe!

          dslraserD Offline
          dslraserD Offline
          dslraser
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #283

          @qqolli sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

          Ich benutze einen Sonos One im Alexa-Mode, kann sein das es daran liegt.

          ja, da findest Du hier im Forum viele Beiträge. Mal gehen die Sonos und mal nicht.

          qqolliQ 1 Antwort Letzte Antwort
          0
          • dslraserD dslraser

            @qqolli sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

            Ich benutze einen Sonos One im Alexa-Mode, kann sein das es daran liegt.

            ja, da findest Du hier im Forum viele Beiträge. Mal gehen die Sonos und mal nicht.

            qqolliQ Offline
            qqolliQ Offline
            qqolli
            schrieb am zuletzt editiert von
            #284

            @dslraser

            Aber der Sound ist wirklich gut und die Dinger sind einfach anzuschliessen :-)

            Bis jetzt, in den paar Tagen wo ich ihn habe, hat er was Alexa betrifft ganz gut funktioniert. Mal sehen, wie sich der Echo Dot schlägt.

            dslraserD 1 Antwort Letzte Antwort
            0
            • qqolliQ qqolli

              @dslraser

              Aber der Sound ist wirklich gut und die Dinger sind einfach anzuschliessen :-)

              Bis jetzt, in den paar Tagen wo ich ihn habe, hat er was Alexa betrifft ganz gut funktioniert. Mal sehen, wie sich der Echo Dot schlägt.

              dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              schrieb am zuletzt editiert von dslraser
              #285

              @qqolli
              es geht dabei um z.B. speak, oder ssml, oder auch Ankündigungen. Die gingen in den letzten Monaten immer mal wieder nicht auf sonos, auf allen anderen Alexa Geräten die das können ging es weiterhin.

              Beispiel

              https://forum.iobroker.net/post/423250

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

                @Pittini

                Ich habe gerade das Script auf 1.6.5 geändert und bekomme 5 Warnmeldungen.

                20:01:33.384	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                20:01:33.384	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                20:01:33.385	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                20:01:33.385	warn	javascript.0 (592) at script.js.Fenster.Fensterauswertung:255:13
                20:01:33.390	info	javascript.0 (592) script.js.Fenster.Fensterauswertung: Reaching CheckForHmShit val=null typof val=string x=6 Sensor[x]=mihome.0.devices.magnet_158d0003cd4123
                20:01:33.390	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003cd4123, please check your configuration
                

                Der Fensterkontakt zeigt jedoch den richtigen State an.
                objects - ioBroker.png

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

                crunchipC 1 Antwort Letzte Antwort
                0
                • NegaleinN Negalein

                  @Pittini

                  Ich habe gerade das Script auf 1.6.5 geändert und bekomme 5 Warnmeldungen.

                  20:01:33.384	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                  20:01:33.384	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                  20:01:33.385	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                  20:01:33.385	warn	javascript.0 (592) at script.js.Fenster.Fensterauswertung:255:13
                  20:01:33.390	info	javascript.0 (592) script.js.Fenster.Fensterauswertung: Reaching CheckForHmShit val=null typof val=string x=6 Sensor[x]=mihome.0.devices.magnet_158d0003cd4123
                  20:01:33.390	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003cd4123, please check your configuration
                  

                  Der Fensterkontakt zeigt jedoch den richtigen State an.
                  objects - ioBroker.png

                  crunchipC Abwesend
                  crunchipC Abwesend
                  crunchip
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von crunchip
                  #287

                  @Negalein was hast du eingestellt im Script?
                  Tür/Fenster
                  du hast in deiner Aufzählung ...Verschluss, Tür?
                  ausserdem ist mihome.0.devices.magnet_158d0003cd4123 nicht der in deinem screen

                  umgestiegen von Proxmox auf Unraid

                  NegaleinN 1 Antwort Letzte Antwort
                  0
                  • crunchipC crunchip

                    @Negalein was hast du eingestellt im Script?
                    Tür/Fenster
                    du hast in deiner Aufzählung ...Verschluss, Tür?
                    ausserdem ist mihome.0.devices.magnet_158d0003cd4123 nicht der in deinem screen

                    NegaleinN Offline
                    NegaleinN Offline
                    Negalein
                    Global Moderator
                    schrieb am zuletzt editiert von
                    #288

                    @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                    @Negalein was hast du eingestellt im Script?

                    const Skriptversion = "1.6.5" //vom 05.07.2020 - https://github.com/Pittini/iobroker-Fensterauswertung - https://forum.iobroker.net/topic/31674/vorlage-generisches-fensteroffenskript-vis
                    //Script um offene Fenster/Türen pro Raum und insgesamt zu zählen.
                    //Möglichkeit eine Ansage nach x Minuten einmalig oder zyklisch bis Fensterschließung anzugeben
                    //Dynamische erzeugung einer HTML Übersichtstabelle
                    //WICHTIG!!!
                    //Vorraussetzungen: Den Geräten müssen Räume zugewiesen sein, sowie die Funktion "Fenster" bzw "Tuer" für jeden entsprechenden Datenpunkt.
                    
                    //Grundeinstellungen
                    const logging = true; //Erweiterte Logs ausgeben?
                    const praefix = "javascript.0.FensterUeberwachung."; //Grundpfad für Script DPs - Muß innerhalb javascript.x sein.
                    const PresenceDp = "" //Pfad zum Anwesenheitsdatenpunkt, leer lassen wenn nicht vorhanden
                    const WhichWindowFunctionToUse = "Fenster"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                    const WhichDoorFunctionToUse = "Tuer"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                    const WindowIgnoreTime = 10000; // 10000 ms = 10 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
                    const DoorIgnoreTime = 5000; // 1000 ms = 1 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
                    
                    
                    //Nachrichteneinstellungen
                    const TimeToMsg = 1200000 // 300000 ms = 5 Minuten - Zyklus- bzw. Ablaufzeit für Tür/Fenster-offenwarnung/en
                    const MaxMessages = 5; //Maximale Anzahl der Nachrichten pro Raum 
                    
                    const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden?
                    const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
                    const AlexaId = ""; // Die Alexa Seriennummer.
                    const UseMail = true; //Nachricht via Mail versenden?
                    const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden.
                    const UseEventLog = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Autorenfunktion, muß deaktiviert werden.
                    const NoMsgAtPresence = false; //Sollen Nachrichten bei Anwesenheit unterdrückt werden?
                    
                    //Tabelleneinstellungen
                    const DoorOpenImg = "/icons-mfd-svg/fts_door_open.svg"; //Icon für Tür offen
                    const DoorCloseImg = "/icons-mfd-svg/fts_door.svg"; // Icon für Tür geschlossen
                    const DoorTiltedImg = "/icons-mfd-svg/fts_door_tilt.svg" // Icon für Tür gekippt
                    const WindowOpenImg = "/icons-mfd-svg/fts_window_1w_open.svg"; //Icon für Fenster offen
                    const WindowCloseImg = "/icons-mfd-svg/fts_window_1w.svg"; // Icon für Fenster geschlossen
                    const WindowTiltedImg = "/icons-mfd-svg/fts_window_1w_tilt.svg" //Icon für Fenster gekippt
                    const WindowOpenTiltedImg = "/icons-mfd-svg/fts_window_2w_open_l_tilt_r.svg" //Icon für offen und gekippt in einem Raum gleichzeitig
                    const VentImg = "/icons-mfd-svg/vent_ventilation.svg"; //Icon für Lüftungsinfo
                    const ImgInvert = 1; // Bildfarben invertieren? Erlaubte Werte von 0 bis 1
                    const OpenWindowColor = "#f44336"; // Farbe für Fenster offen
                    const OpenDoorColor = "darkorange"; //Farbe für Tür offen
                    const TiltedWindowColor = "#F56C62"; //Farbe für gekippte Fenster o. Tür/en
                    const ClosedWindowColor = "#4caf50"; // Farbe für geschlossene Fenster o. Tür/en
                    const VentWarnColor = "#ffc107"; // Farbe für Lüftungswarnung
                    const ShowCaptionTbl = false; // Überschrift anzeigen?
                    const ShowSummaryTbl = true; // Zusammenfassung anzeigen?
                    const ShowDetailTbl = true; // Details anzeigen?
                    const RoomSortMode = 1; //0= Raumliste unsortiert, 1= alpabetisch sortiert, 2= Benutzerdefinierte Sortierung
                    
                    //Logeinstellungen
                    const MaxLogEntrys = 20; //Maximale Anzahl der zu speichernden Logeinträge
                    const AutoAddTimestamp = true; //Soll den geloggten Nachrichten automatisch ein Zeitsempel zugeordnet werden?
                    const LogTimeStampFormat = "TT.MM.JJJJ SS:mm:ss"; //Zeitformatierung für Log Zeitstempel
                    const LogEntrySeparator = "<br>"; //Trennzeichen für Logeinträge
                    

                    Tür/Fenster
                    du hast in deiner Aufzählung ...Verschluss, Tür?

                    Verschluss ist jetzt weg (keine Ahnung von wo der gekommen ist). Meldungen bleiben

                    20:23:28.475	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                    20:23:28.476	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                    20:23:28.476	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                    20:23:28.476	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                    20:23:28.477	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0002ec2655, please check your configuration
                    20:23:28.480	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                    20:23:28.480	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                    20:23:28.481	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                    20:23:28.481	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                    20:23:28.482	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003139ea7, please check your configuration
                    20:23:28.485	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                    20:23:28.485	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                    20:23:28.485	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                    20:23:28.485	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                    20:23:28.486	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d000316d3ad, please check your configuration
                    20:23:28.489	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                    20:23:28.489	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                    20:23:28.489	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                    20:23:28.489	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                    20:23:28.490	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d00032b770e, please check your configuration
                    20:23:28.493	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                    20:23:28.493	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                    20:23:28.494	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                    20:23:28.494	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                    20:23:28.494	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003cd589f, please check your configuration
                    20:23:28.497	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                    20:23:28.498	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                    20:23:28.498	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                    20:23:28.498	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                    20:23:28.499	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003cd2299, please check your configuration
                    20:23:28.502	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                    20:23:28.502	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                    20:23:28.502	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                    20:23:28.502	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                    20:23:28.503	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003cd4123, please check your configuration
                    

                    ausserdem ist mihome.0.devices.magnet_158d0003cd4123 nicht der in deinem screen

                    War ein Beispiel. Hab den falschen Screenshot erwischt. Es betrifft alle 7 Sensoren.

                    Obwohl 1 offen ist (Küche), wird es geschlossen angezeigt.
                    vis.png

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

                    crunchipC 1 Antwort Letzte Antwort
                    0
                    • NegaleinN Negalein

                      @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                      @Negalein was hast du eingestellt im Script?

                      const Skriptversion = "1.6.5" //vom 05.07.2020 - https://github.com/Pittini/iobroker-Fensterauswertung - https://forum.iobroker.net/topic/31674/vorlage-generisches-fensteroffenskript-vis
                      //Script um offene Fenster/Türen pro Raum und insgesamt zu zählen.
                      //Möglichkeit eine Ansage nach x Minuten einmalig oder zyklisch bis Fensterschließung anzugeben
                      //Dynamische erzeugung einer HTML Übersichtstabelle
                      //WICHTIG!!!
                      //Vorraussetzungen: Den Geräten müssen Räume zugewiesen sein, sowie die Funktion "Fenster" bzw "Tuer" für jeden entsprechenden Datenpunkt.
                      
                      //Grundeinstellungen
                      const logging = true; //Erweiterte Logs ausgeben?
                      const praefix = "javascript.0.FensterUeberwachung."; //Grundpfad für Script DPs - Muß innerhalb javascript.x sein.
                      const PresenceDp = "" //Pfad zum Anwesenheitsdatenpunkt, leer lassen wenn nicht vorhanden
                      const WhichWindowFunctionToUse = "Fenster"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                      const WhichDoorFunctionToUse = "Tuer"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                      const WindowIgnoreTime = 10000; // 10000 ms = 10 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
                      const DoorIgnoreTime = 5000; // 1000 ms = 1 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
                      
                      
                      //Nachrichteneinstellungen
                      const TimeToMsg = 1200000 // 300000 ms = 5 Minuten - Zyklus- bzw. Ablaufzeit für Tür/Fenster-offenwarnung/en
                      const MaxMessages = 5; //Maximale Anzahl der Nachrichten pro Raum 
                      
                      const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden?
                      const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
                      const AlexaId = ""; // Die Alexa Seriennummer.
                      const UseMail = true; //Nachricht via Mail versenden?
                      const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden.
                      const UseEventLog = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Autorenfunktion, muß deaktiviert werden.
                      const NoMsgAtPresence = false; //Sollen Nachrichten bei Anwesenheit unterdrückt werden?
                      
                      //Tabelleneinstellungen
                      const DoorOpenImg = "/icons-mfd-svg/fts_door_open.svg"; //Icon für Tür offen
                      const DoorCloseImg = "/icons-mfd-svg/fts_door.svg"; // Icon für Tür geschlossen
                      const DoorTiltedImg = "/icons-mfd-svg/fts_door_tilt.svg" // Icon für Tür gekippt
                      const WindowOpenImg = "/icons-mfd-svg/fts_window_1w_open.svg"; //Icon für Fenster offen
                      const WindowCloseImg = "/icons-mfd-svg/fts_window_1w.svg"; // Icon für Fenster geschlossen
                      const WindowTiltedImg = "/icons-mfd-svg/fts_window_1w_tilt.svg" //Icon für Fenster gekippt
                      const WindowOpenTiltedImg = "/icons-mfd-svg/fts_window_2w_open_l_tilt_r.svg" //Icon für offen und gekippt in einem Raum gleichzeitig
                      const VentImg = "/icons-mfd-svg/vent_ventilation.svg"; //Icon für Lüftungsinfo
                      const ImgInvert = 1; // Bildfarben invertieren? Erlaubte Werte von 0 bis 1
                      const OpenWindowColor = "#f44336"; // Farbe für Fenster offen
                      const OpenDoorColor = "darkorange"; //Farbe für Tür offen
                      const TiltedWindowColor = "#F56C62"; //Farbe für gekippte Fenster o. Tür/en
                      const ClosedWindowColor = "#4caf50"; // Farbe für geschlossene Fenster o. Tür/en
                      const VentWarnColor = "#ffc107"; // Farbe für Lüftungswarnung
                      const ShowCaptionTbl = false; // Überschrift anzeigen?
                      const ShowSummaryTbl = true; // Zusammenfassung anzeigen?
                      const ShowDetailTbl = true; // Details anzeigen?
                      const RoomSortMode = 1; //0= Raumliste unsortiert, 1= alpabetisch sortiert, 2= Benutzerdefinierte Sortierung
                      
                      //Logeinstellungen
                      const MaxLogEntrys = 20; //Maximale Anzahl der zu speichernden Logeinträge
                      const AutoAddTimestamp = true; //Soll den geloggten Nachrichten automatisch ein Zeitsempel zugeordnet werden?
                      const LogTimeStampFormat = "TT.MM.JJJJ SS:mm:ss"; //Zeitformatierung für Log Zeitstempel
                      const LogEntrySeparator = "<br>"; //Trennzeichen für Logeinträge
                      

                      Tür/Fenster
                      du hast in deiner Aufzählung ...Verschluss, Tür?

                      Verschluss ist jetzt weg (keine Ahnung von wo der gekommen ist). Meldungen bleiben

                      20:23:28.475	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                      20:23:28.476	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                      20:23:28.476	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                      20:23:28.476	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                      20:23:28.477	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0002ec2655, please check your configuration
                      20:23:28.480	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                      20:23:28.480	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                      20:23:28.481	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                      20:23:28.481	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                      20:23:28.482	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003139ea7, please check your configuration
                      20:23:28.485	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                      20:23:28.485	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                      20:23:28.485	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                      20:23:28.485	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                      20:23:28.486	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d000316d3ad, please check your configuration
                      20:23:28.489	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                      20:23:28.489	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                      20:23:28.489	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                      20:23:28.489	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                      20:23:28.490	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d00032b770e, please check your configuration
                      20:23:28.493	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                      20:23:28.493	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                      20:23:28.494	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                      20:23:28.494	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                      20:23:28.494	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003cd589f, please check your configuration
                      20:23:28.497	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                      20:23:28.498	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                      20:23:28.498	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                      20:23:28.498	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                      20:23:28.499	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003cd2299, please check your configuration
                      20:23:28.502	warn	javascript.0 (592) at init (script.js.Fenster.Fensterauswertung:308:45)
                      20:23:28.502	warn	javascript.0 (592) at main (script.js.Fenster.Fensterauswertung:323:5)
                      20:23:28.502	warn	javascript.0 (592) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                      20:23:28.502	warn	javascript.0 (592) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                      20:23:28.503	warn	javascript.0 (592) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003cd4123, please check your configuration
                      

                      ausserdem ist mihome.0.devices.magnet_158d0003cd4123 nicht der in deinem screen

                      War ein Beispiel. Hab den falschen Screenshot erwischt. Es betrifft alle 7 Sensoren.

                      Obwohl 1 offen ist (Küche), wird es geschlossen angezeigt.
                      vis.png

                      crunchipC Abwesend
                      crunchipC Abwesend
                      crunchip
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von crunchip
                      #289

                      @Negalein Verschluss war noch aus den anfangszeiten des scripts
                      überprüfe deine Sensoren nochmal genau aller Räume Türen und Fenster.
                      Danach Instanz javascript einmal neustarten, danach müsste auch das script funktionieren

                      die Anzeige nutze ich gar nicht, nur die Sprachausgabe, für die Anzeige habe ich was anderes

                      umgestiegen von Proxmox auf Unraid

                      NegaleinN 2 Antworten Letzte Antwort
                      0
                      • crunchipC crunchip

                        @Negalein Verschluss war noch aus den anfangszeiten des scripts
                        überprüfe deine Sensoren nochmal genau aller Räume Türen und Fenster.
                        Danach Instanz javascript einmal neustarten, danach müsste auch das script funktionieren

                        die Anzeige nutze ich gar nicht, nur die Sprachausgabe, für die Anzeige habe ich was anderes

                        NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        schrieb am zuletzt editiert von
                        #290

                        @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                        überprüfe deine Sensoren nochmal genau aller Räume Türen und Fenster.

                        leider keine Änderung

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

                        crunchipC 1 Antwort Letzte Antwort
                        0
                        • NegaleinN Negalein

                          @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                          überprüfe deine Sensoren nochmal genau aller Räume Türen und Fenster.

                          leider keine Änderung

                          crunchipC Abwesend
                          crunchipC Abwesend
                          crunchip
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von crunchip
                          #291

                          @Negalein welche Meldung kommt dann jetzt?
                          bei mir sieht das z.b so aus
                          6d8907d1-1b6b-4c79-8387-a293e231ad2a-image.png

                          umgestiegen von Proxmox auf Unraid

                          NegaleinN 1 Antwort Letzte Antwort
                          0
                          • crunchipC crunchip

                            @Negalein welche Meldung kommt dann jetzt?
                            bei mir sieht das z.b so aus
                            6d8907d1-1b6b-4c79-8387-a293e231ad2a-image.png

                            NegaleinN Offline
                            NegaleinN Offline
                            Negalein
                            Global Moderator
                            schrieb am zuletzt editiert von
                            #292

                            @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                            welche Meldung kommt dann jetzt?

                            An den Meldungen hat sich nichts geändert

                            20:42:16.151	warn	javascript.0 (1602) at init (script.js.Fenster.Fensterauswertung:308:45)
                            20:42:16.151	warn	javascript.0 (1602) at main (script.js.Fenster.Fensterauswertung:323:5)
                            20:42:16.151	warn	javascript.0 (1602) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                            20:42:16.152	warn	javascript.0 (1602) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                            20:42:16.153	info	javascript.0 (1602) script.js.Fenster.Fensterauswertung: Reaching CheckForHmShit val=null typof val=string x=4 Sensor[x]=mihome.0.devices.magnet_158d0003cd589f
                            20:42:16.153	warn	javascript.0 (1602) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003cd589f, please check your configuration
                            

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

                            Dominik F.D 1 Antwort Letzte Antwort
                            0
                            • NegaleinN Negalein

                              @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                              welche Meldung kommt dann jetzt?

                              An den Meldungen hat sich nichts geändert

                              20:42:16.151	warn	javascript.0 (1602) at init (script.js.Fenster.Fensterauswertung:308:45)
                              20:42:16.151	warn	javascript.0 (1602) at main (script.js.Fenster.Fensterauswertung:323:5)
                              20:42:16.151	warn	javascript.0 (1602) at InitialSort (script.js.Fenster.Fensterauswertung:291:5)
                              20:42:16.152	warn	javascript.0 (1602) at Object.<anonymous> (script.js.Fenster.Fensterauswertung:255:13)
                              20:42:16.153	info	javascript.0 (1602) script.js.Fenster.Fensterauswertung: Reaching CheckForHmShit val=null typof val=string x=4 Sensor[x]=mihome.0.devices.magnet_158d0003cd589f
                              20:42:16.153	warn	javascript.0 (1602) script.js.Fenster.Fensterauswertung: Unknown Windowstate undefined detected at mihome.0.devices.magnet_158d0003cd589f, please check your configuration
                              
                              Dominik F.D Offline
                              Dominik F.D Offline
                              Dominik F.
                              schrieb am zuletzt editiert von
                              #293

                              @Negalein

                              Du hast den ganzen Channel Tuer genannt, es soll jedoch nur der einzelne State in die Aufzählung

                              NegaleinN 1 Antwort Letzte Antwort
                              0
                              • Dominik F.D Dominik F.

                                @Negalein

                                Du hast den ganzen Channel Tuer genannt, es soll jedoch nur der einzelne State in die Aufzählung

                                NegaleinN Offline
                                NegaleinN Offline
                                Negalein
                                Global Moderator
                                schrieb am zuletzt editiert von
                                #294

                                @Dominik-F sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                Du hast den ganzen Channel Tuer genannt, es soll jedoch nur der einzelne State in die Aufzählung

                                Ah, muss ich überlesen haben.
                                Ändere es gleich.

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

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

                                  @crunchip @Dominik-F

                                  Bingo, es läuft
                                  Danke

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • crunchipC crunchip

                                    @Negalein Verschluss war noch aus den anfangszeiten des scripts
                                    überprüfe deine Sensoren nochmal genau aller Räume Türen und Fenster.
                                    Danach Instanz javascript einmal neustarten, danach müsste auch das script funktionieren

                                    die Anzeige nutze ich gar nicht, nur die Sprachausgabe, für die Anzeige habe ich was anderes

                                    NegaleinN Offline
                                    NegaleinN Offline
                                    Negalein
                                    Global Moderator
                                    schrieb am zuletzt editiert von
                                    #296

                                    @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                    für die Anzeige habe ich was anderes

                                    was verwendest du dafür?

                                    Gibt es dort auch einen DP für die Anzahl aller Türen und Fenster gemeinsam?

                                    Derzeit verwende ich noch dieses Script mit dem "Metro - tile String" Widget.
                                    Screenshot_2020-07-11 Edit vis.png

                                    /* Status Zahl Fenster
                                    Homematic var cacheSelectorLevel = $('channel[state.id=*.STATE](functions="Fenster")');
                                    Mi var cacheSelectorState = $('state[id=*.state](functions="Fenster")');
                                    {1}
                                    */
                                    var logging = false;
                                     
                                    var idAnzahlEin = 'javascript.0.Status.Fenster.Anzahl_auf',
                                        idAnzahl = 'javascript.0.Status.Fenster.Anzahl',
                                        idText = 'javascript.0.Status.Fenster.Text',
                                        idRaum = 'javascript.0.Status.Fenster.Raum', // <---- NEU
                                        idAnsage = 'javascript.0.Status.Fenster.Ansage';
                                     
                                    // Ab hier nix mehr ändern
                                    createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
                                        type: 'number',
                                        name: 'Anzahl aller Fenster',
                                        min: 0,
                                        def: 0,
                                        role: 'value'
                                    });
                                    createState(idAnzahlEin, { // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
                                        type: 'number',
                                        name: 'Anzahl der offenen Fenster',
                                        min: 0,
                                        def: 0,
                                        role: 'value'
                                    });
                                    createState(idText, { // Anzahl der brennenden Lichter und deren Namen als Variable unter Javascript.0 anlegen
                                        type: 'string',
                                        name: 'Offene Fenster',
                                        desc: 'Namen der offenen Fenster',
                                        def: ' ',
                                        role: 'value'
                                    });
                                    createState(idAnsage, {
                                        type: 'string',
                                        name: 'Offene Fenster (Ansage)',
                                        desc: 'Namen der offenen Fenster (für Ansage aufbereitet)',
                                        def: ' ',
                                        role: 'value'
                                    });
                                    createState(idRaum, { // Räume, in denen Lichter brennen // <---- NEU
                                        type: 'string',
                                        name: 'Räume mit offenen Fenster',
                                        desc: 'Namen der Räume, in denen Fenster offen sind',
                                        def: ' ',
                                        role: 'value'
                                    });
                                     
                                    //var cacheSelectorState = $('channel[state.id=*.STATE](functions="Licht")'); // Gewerk Licht
                                    var cacheSelectorLevel = $('channel[state.id=*.LEVEL](functions="XXX")');
                                    //var cacheSelectorHue = $('state[id=*.on](functions=Licht)');
                                    var cacheSelectorState2 = $('channel[state.id=*.STATE](functions="Fenster")'); //Homematic
                                    var cacheSelectorState = $('state[id=*.state](functions="Fenster")'); //Mi
                                     
                                    function checkDevices(obj) {
                                        // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Licht auf 0
                                        var anzahlLichterAn = 0;
                                        var anzahlLichter = 0;
                                        var textLichterAn = [];
                                        var textRaum = [];
                                        if (logging) {
                                            log('++++++ Fenster Anzahl ++++ ');
                                            log('#### Mi ##### ');
                                        }
                                        cacheSelectorState.each(function(id, i) { // Schleife für jedes gefundenen Element *.state im Gewerk Fenster
                                            var status = getState(id).val; // Zustand *.state abfragen (jedes Element)
                                            var deviceId = id.substring(0, id.lastIndexOf("."));
                                            var devicename = getObject(deviceId).common.name; 
                                            var raumname = getObject(id, "rooms").enumNames[0];
                                            if (logging) {
                                                log('---Mi----');
                                                log('Raum: ' + JSON.stringify(raumname));
                                                log('Status: ' + status);
                                            }
                                            if (status) { // wenn Zustand = true, dann wird die Anzahl der Fenster hochgezählt
                                                ++anzahlLichterAn;
                                                textLichterAn.push(devicename); // Zu Array hinzufügen
                                                textRaum.push(raumname); // <---- NEU
                                            }
                                            ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                                        });
                                        
                                        cacheSelectorState2.each(function(id, i) { // Schleife für jedes gefundenen Element *.ON im Gewerk Licht
                                            var obj = getObject(id);
                                            var name = getObject(id).common.name;
                                            var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
                                            var devicename = name.substring(0, name.indexOf(".STATE")); //.state aus Text entfernen
                                            var raumname = getObject(id, "rooms"); // <---- NEU
                                     
                                            // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                                            // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
                                            if (logging) {
                                                log('---Homematic----');
                                                log('Kanal: ' + name);
                                                log('Status: ' + status);
                                            }
                                            if (status) { // wenn Zustand = true, dann wird die Anzahl der Lichter hochgezählt
                                                ++anzahlLichterAn;
                                                textLichterAn.push(devicename); // Zu Array hinzufügen
                                                textRaum.push(raumname.enumNames); // <---- NEU
                                            }
                                            ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                                            // } // ENDE VK-Abfrage
                                        });
                                     
                                        if (logging) log('#### DIMMER ##### ');
                                        cacheSelectorLevel.each(function(id, i) { // Schleife für jedes gefundenen Element *.LEVEL im Gewerk Licht
                                            var obj = getObject(id);
                                            var name = getObject(id).common.name;
                                            var status = getState(id).val; // Zustand *.LEVEL abfragen (jedes Element)
                                            var devicename = name.substring(0, name.indexOf(".LEVEL")); //.state aus Text entfernen
                                            var raumname = getObject(id, "rooms"); // <---- NEU
                                     
                                            // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                                            // if ( (devicename.search(/(CUX)|(K2)|(K3)|(V10)|(VK)|(:)/ig) == -1) ) { // Geräte mit diesen Strings im namen nicht beachten
                                            
                                            if (logging) {
                                                log('-------');
                                                log('Kanal: ' + name);
                                                log('Status: ' + status + '%');
                                            }
                                            if (parseFloat(status) > 0) { // Wenn Dimmwert über 0
                                                ++anzahlLichterAn;
                                                textLichterAn.push(devicename); // Zu Array hinzufügen
                                                textRaum.push(raumname.enumNames); // <---- NEU
                                            }
                                            ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                                            // } // Ende Abfrage VK 
                                        });
                                     
                                        // Array mit Lichternamen sortieren
                                        textLichterAn.sort();
                                        textRaum.sort(); // <---- NEU
                                        // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
                                        if (logging) log("Text: " + textLichterAn);
                                        if (logging) log("Anzahl Fenster: " + anzahlLichter + " # davon Fenster offen: " + anzahlLichterAn);
                                        // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
                                        setState(idText, textLichterAn.join(', ')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
                                        setState(idAnzahlEin, textLichterAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
                                        setState(idAnzahl, anzahlLichter); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
                                        // setState(idRaum, textRaum.join(',<br>')); // Räume, in denen Licht brennt // <---- NEU
                                        setState(idRaum, textRaum.join(', ')); // Räume, in denen Licht brennt // <---- NEU
                                    }
                                     
                                    // Trigger
                                    cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Licht
                                        if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                                        checkDevices();
                                    });
                                    cacheSelectorState2.on(function(obj) { // bei Zustandänderung *.ON von HUE Lampen im Gewerk Licht
                                        if (logging) log('Auslösende Homematic: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                                        checkDevices();
                                    });
                                    cacheSelectorLevel.on(function(obj) { // bei Zustandänderung *.LEVEL im Gewerk Licht
                                        if (logging) log('Auslösender Dimmer: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                                        checkDevices();
                                    });
                                     
                                    function main() {
                                        setTimeout(function() {
                                            if (logging) log('Auslöser Skriptstart');
                                            checkDevices();
                                        }, 2000);
                                    }
                                     
                                    main(); // Skriptstart-Auslöser
                                     
                                    // Aufbereitung für Ansage
                                    function strip_tags(data) {
                                        var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");
                                        return (rueckgabe);
                                    }
                                     
                                    on(idText, function(obj) {
                                        var text = obj.state.val;
                                        text = (getState(idAnzahl).val > 0) ? 'Fenster offen: ' + strip_tags(text) : 'Alle Fenster geschlossen';
                                        setState(idAnsage, text);
                                    });
                                    

                                    Das Script von Pitini gibt leider keine Gesamtanzahl aus.

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

                                    crunchipC 1 Antwort Letzte Antwort
                                    0
                                    • NegaleinN Negalein

                                      @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                      für die Anzeige habe ich was anderes

                                      was verwendest du dafür?

                                      Gibt es dort auch einen DP für die Anzahl aller Türen und Fenster gemeinsam?

                                      Derzeit verwende ich noch dieses Script mit dem "Metro - tile String" Widget.
                                      Screenshot_2020-07-11 Edit vis.png

                                      /* Status Zahl Fenster
                                      Homematic var cacheSelectorLevel = $('channel[state.id=*.STATE](functions="Fenster")');
                                      Mi var cacheSelectorState = $('state[id=*.state](functions="Fenster")');
                                      {1}
                                      */
                                      var logging = false;
                                       
                                      var idAnzahlEin = 'javascript.0.Status.Fenster.Anzahl_auf',
                                          idAnzahl = 'javascript.0.Status.Fenster.Anzahl',
                                          idText = 'javascript.0.Status.Fenster.Text',
                                          idRaum = 'javascript.0.Status.Fenster.Raum', // <---- NEU
                                          idAnsage = 'javascript.0.Status.Fenster.Ansage';
                                       
                                      // Ab hier nix mehr ändern
                                      createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
                                          type: 'number',
                                          name: 'Anzahl aller Fenster',
                                          min: 0,
                                          def: 0,
                                          role: 'value'
                                      });
                                      createState(idAnzahlEin, { // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
                                          type: 'number',
                                          name: 'Anzahl der offenen Fenster',
                                          min: 0,
                                          def: 0,
                                          role: 'value'
                                      });
                                      createState(idText, { // Anzahl der brennenden Lichter und deren Namen als Variable unter Javascript.0 anlegen
                                          type: 'string',
                                          name: 'Offene Fenster',
                                          desc: 'Namen der offenen Fenster',
                                          def: ' ',
                                          role: 'value'
                                      });
                                      createState(idAnsage, {
                                          type: 'string',
                                          name: 'Offene Fenster (Ansage)',
                                          desc: 'Namen der offenen Fenster (für Ansage aufbereitet)',
                                          def: ' ',
                                          role: 'value'
                                      });
                                      createState(idRaum, { // Räume, in denen Lichter brennen // <---- NEU
                                          type: 'string',
                                          name: 'Räume mit offenen Fenster',
                                          desc: 'Namen der Räume, in denen Fenster offen sind',
                                          def: ' ',
                                          role: 'value'
                                      });
                                       
                                      //var cacheSelectorState = $('channel[state.id=*.STATE](functions="Licht")'); // Gewerk Licht
                                      var cacheSelectorLevel = $('channel[state.id=*.LEVEL](functions="XXX")');
                                      //var cacheSelectorHue = $('state[id=*.on](functions=Licht)');
                                      var cacheSelectorState2 = $('channel[state.id=*.STATE](functions="Fenster")'); //Homematic
                                      var cacheSelectorState = $('state[id=*.state](functions="Fenster")'); //Mi
                                       
                                      function checkDevices(obj) {
                                          // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Licht auf 0
                                          var anzahlLichterAn = 0;
                                          var anzahlLichter = 0;
                                          var textLichterAn = [];
                                          var textRaum = [];
                                          if (logging) {
                                              log('++++++ Fenster Anzahl ++++ ');
                                              log('#### Mi ##### ');
                                          }
                                          cacheSelectorState.each(function(id, i) { // Schleife für jedes gefundenen Element *.state im Gewerk Fenster
                                              var status = getState(id).val; // Zustand *.state abfragen (jedes Element)
                                              var deviceId = id.substring(0, id.lastIndexOf("."));
                                              var devicename = getObject(deviceId).common.name; 
                                              var raumname = getObject(id, "rooms").enumNames[0];
                                              if (logging) {
                                                  log('---Mi----');
                                                  log('Raum: ' + JSON.stringify(raumname));
                                                  log('Status: ' + status);
                                              }
                                              if (status) { // wenn Zustand = true, dann wird die Anzahl der Fenster hochgezählt
                                                  ++anzahlLichterAn;
                                                  textLichterAn.push(devicename); // Zu Array hinzufügen
                                                  textRaum.push(raumname); // <---- NEU
                                              }
                                              ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                                          });
                                          
                                          cacheSelectorState2.each(function(id, i) { // Schleife für jedes gefundenen Element *.ON im Gewerk Licht
                                              var obj = getObject(id);
                                              var name = getObject(id).common.name;
                                              var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
                                              var devicename = name.substring(0, name.indexOf(".STATE")); //.state aus Text entfernen
                                              var raumname = getObject(id, "rooms"); // <---- NEU
                                       
                                              // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                                              // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
                                              if (logging) {
                                                  log('---Homematic----');
                                                  log('Kanal: ' + name);
                                                  log('Status: ' + status);
                                              }
                                              if (status) { // wenn Zustand = true, dann wird die Anzahl der Lichter hochgezählt
                                                  ++anzahlLichterAn;
                                                  textLichterAn.push(devicename); // Zu Array hinzufügen
                                                  textRaum.push(raumname.enumNames); // <---- NEU
                                              }
                                              ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                                              // } // ENDE VK-Abfrage
                                          });
                                       
                                          if (logging) log('#### DIMMER ##### ');
                                          cacheSelectorLevel.each(function(id, i) { // Schleife für jedes gefundenen Element *.LEVEL im Gewerk Licht
                                              var obj = getObject(id);
                                              var name = getObject(id).common.name;
                                              var status = getState(id).val; // Zustand *.LEVEL abfragen (jedes Element)
                                              var devicename = name.substring(0, name.indexOf(".LEVEL")); //.state aus Text entfernen
                                              var raumname = getObject(id, "rooms"); // <---- NEU
                                       
                                              // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                                              // if ( (devicename.search(/(CUX)|(K2)|(K3)|(V10)|(VK)|(:)/ig) == -1) ) { // Geräte mit diesen Strings im namen nicht beachten
                                              
                                              if (logging) {
                                                  log('-------');
                                                  log('Kanal: ' + name);
                                                  log('Status: ' + status + '%');
                                              }
                                              if (parseFloat(status) > 0) { // Wenn Dimmwert über 0
                                                  ++anzahlLichterAn;
                                                  textLichterAn.push(devicename); // Zu Array hinzufügen
                                                  textRaum.push(raumname.enumNames); // <---- NEU
                                              }
                                              ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                                              // } // Ende Abfrage VK 
                                          });
                                       
                                          // Array mit Lichternamen sortieren
                                          textLichterAn.sort();
                                          textRaum.sort(); // <---- NEU
                                          // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
                                          if (logging) log("Text: " + textLichterAn);
                                          if (logging) log("Anzahl Fenster: " + anzahlLichter + " # davon Fenster offen: " + anzahlLichterAn);
                                          // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
                                          setState(idText, textLichterAn.join(', ')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
                                          setState(idAnzahlEin, textLichterAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
                                          setState(idAnzahl, anzahlLichter); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
                                          // setState(idRaum, textRaum.join(',<br>')); // Räume, in denen Licht brennt // <---- NEU
                                          setState(idRaum, textRaum.join(', ')); // Räume, in denen Licht brennt // <---- NEU
                                      }
                                       
                                      // Trigger
                                      cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Licht
                                          if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                                          checkDevices();
                                      });
                                      cacheSelectorState2.on(function(obj) { // bei Zustandänderung *.ON von HUE Lampen im Gewerk Licht
                                          if (logging) log('Auslösende Homematic: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                                          checkDevices();
                                      });
                                      cacheSelectorLevel.on(function(obj) { // bei Zustandänderung *.LEVEL im Gewerk Licht
                                          if (logging) log('Auslösender Dimmer: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                                          checkDevices();
                                      });
                                       
                                      function main() {
                                          setTimeout(function() {
                                              if (logging) log('Auslöser Skriptstart');
                                              checkDevices();
                                          }, 2000);
                                      }
                                       
                                      main(); // Skriptstart-Auslöser
                                       
                                      // Aufbereitung für Ansage
                                      function strip_tags(data) {
                                          var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");
                                          return (rueckgabe);
                                      }
                                       
                                      on(idText, function(obj) {
                                          var text = obj.state.val;
                                          text = (getState(idAnzahl).val > 0) ? 'Fenster offen: ' + strip_tags(text) : 'Alle Fenster geschlossen';
                                          setState(idAnsage, text);
                                      });
                                      

                                      Das Script von Pitini gibt leider keine Gesamtanzahl aus.

                                      crunchipC Abwesend
                                      crunchipC Abwesend
                                      crunchip
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von crunchip
                                      #297

                                      @Negalein ich habe oben in meiner Menüleiste über Sichtbarkeit gesteuert. Wenn Licht an, bzw Fenster oder Tür geöffnet ist, wird mir der Raumname eingeblendet, ansonsten ist alles ausgeblendet
                                      1e0b594f-243d-4308-9605-2659eea1a23b-image.png
                                      50b2d85e-b6df-40a4-806d-682a23e94c2d-image.png

                                      umgestiegen von Proxmox auf Unraid

                                      1 Antwort Letzte Antwort
                                      0
                                      • P Pittini

                                        @rotamint sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                        Wo kann ich das nach "2 / benutzerdefiniert" einrichten? Ich habe nichts gefunden.

                                        Anleitung .6.13

                                        R Offline
                                        R Offline
                                        rotamint
                                        schrieb am zuletzt editiert von
                                        #298

                                        @Pittini Danke! Vor lauter Bäumen den Wald nicht gesehen...

                                        1 Antwort Letzte Antwort
                                        0
                                        • dslraserD dslraser

                                          @qqolli
                                          es geht dabei um z.B. speak, oder ssml, oder auch Ankündigungen. Die gingen in den letzten Monaten immer mal wieder nicht auf sonos, auf allen anderen Alexa Geräten die das können ging es weiterhin.

                                          Beispiel

                                          https://forum.iobroker.net/post/423250

                                          qqolliQ Offline
                                          qqolliQ Offline
                                          qqolli
                                          schrieb am zuletzt editiert von
                                          #299

                                          @dslraser

                                          Hi,

                                          habe am Wochenende den Echo Dot ausprobiert und wie ihr bereits vorhergesagt hattet ging alles ohne Probleme, das Skript hat brav seine Ansagen gemacht und der liebe Sonos die "Klappe" gehalten.

                                          @Pittini Sorry für die Art und Weise am Anfang, war nich ok so. Du hattest natürlich recht.
                                          @Pittini An Deiner Snips-Lösung wäre ich weiterhin sehr interessiert. Hättest Du evtl. mehr Material zum einarbeiten?

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          765

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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