Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Visualisierung
  4. Verbesserungsvorschläge iogo App

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    347

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    313

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    932

Verbesserungsvorschläge iogo App

Geplant Angeheftet Gesperrt Verschoben Visualisierung
iogo
12 Beiträge 5 Kommentatoren 907 Aufrufe 3 Beobachtet
  • Ä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.
  • E EStegemann

    Hallo Zusammen,
    Keine Ahnung, ob der Topic hier richtig platziert ist, würde aber ein paar Verbesserungsvorschläge loswerden wollen.
    Was wahrscheinlich sehr hilfreich wäre, wenn die Objekte/Geräte direkt in der den Räumen und Funktionen zugeordnet werden können und anschließend so auch iobroker angelegt werden. Das würde den extra Schritt, die Zuordnung zuerst in iobroker machen zu müssen, obsolet setzen. Des Weiteren wäre es toll, wenn die States auch über die Icons direkt sichtbar gemacht werden können. Soll heiße, Hue Lampe an - - > ausgefüllt Lampe als Icon. Lampe aus--> nicht gefüllte Lampe als Icon. Wäre das realisierbar?

    Gruß und Danke,
    Eric

    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von Homoran
    #2

    @EStegemann sagte in Verbesserungsvorschläge:

    Wäre das realisierbar?

    Was jetzt?

    @EStegemann sagte in Verbesserungsvorschläge:

    wenn die Objekte/Geräte direkt in der den Räumen und Funktionen zugeordnet werden können und anschließend so auch iobroker angelegt werden.

    wo?
    bei HomeMatic funktioniert das genauso

    @EStegemann sagte in Verbesserungsvorschläge:

    Hue Lampe an - - > ausgefüllt Lampe als Icon. Lampe aus--> nicht gefüllte Lampe als Icon

    genau dazu ist z.B. das bulb-Widget da
    bulb_on.png
    Hier ist gerade die Stehlampe im "Spielzimmer" neben meinem PC an

    kein Support per PN! - Fragen im Forum stellen -
    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Antwort Letzte Antwort
    0
    • E EStegemann

      Hallo Zusammen,
      Keine Ahnung, ob der Topic hier richtig platziert ist, würde aber ein paar Verbesserungsvorschläge loswerden wollen.
      Was wahrscheinlich sehr hilfreich wäre, wenn die Objekte/Geräte direkt in der den Räumen und Funktionen zugeordnet werden können und anschließend so auch iobroker angelegt werden. Das würde den extra Schritt, die Zuordnung zuerst in iobroker machen zu müssen, obsolet setzen. Des Weiteren wäre es toll, wenn die States auch über die Icons direkt sichtbar gemacht werden können. Soll heiße, Hue Lampe an - - > ausgefüllt Lampe als Icon. Lampe aus--> nicht gefüllte Lampe als Icon. Wäre das realisierbar?

      Gruß und Danke,
      Eric

      UncleSamU Offline
      UncleSamU Offline
      UncleSam
      Developer
      schrieb am zuletzt editiert von
      #3

      @EStegemann sagte in Verbesserungsvorschläge:

      Was wahrscheinlich sehr hilfreich wäre, wenn die Objekte/Geräte direkt in der den Räumen und Funktionen zugeordnet werden können und anschließend so auch iobroker angelegt werden. Das würde den extra Schritt, die Zuordnung zuerst in iobroker machen zu müssen, obsolet setzen.

      Wo und wann sollte das geschehen? Welche Objekte / Geräte aus welchem Adapter? Woher weiss der Adapter, welchem Raum / Funktion du das Gerät zuordnen willst?

      Des Weiteren wäre es toll, wenn die States auch über die Icons direkt sichtbar gemacht werden können.

      Gewisse Widgets machen dies bereits. Bei welchen Widgets geht es denn nicht?

      Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
      ♡-lichen Dank an meine Sponsoren

      E 1 Antwort Letzte Antwort
      0
      • UncleSamU UncleSam

        @EStegemann sagte in Verbesserungsvorschläge:

        Was wahrscheinlich sehr hilfreich wäre, wenn die Objekte/Geräte direkt in der den Räumen und Funktionen zugeordnet werden können und anschließend so auch iobroker angelegt werden. Das würde den extra Schritt, die Zuordnung zuerst in iobroker machen zu müssen, obsolet setzen.

        Wo und wann sollte das geschehen? Welche Objekte / Geräte aus welchem Adapter? Woher weiss der Adapter, welchem Raum / Funktion du das Gerät zuordnen willst?

        Des Weiteren wäre es toll, wenn die States auch über die Icons direkt sichtbar gemacht werden können.

        Gewisse Widgets machen dies bereits. Bei welchen Widgets geht es denn nicht?

        E Offline
        E Offline
        EStegemann
        schrieb am zuletzt editiert von
        #4

        @UncleSam Hi,
        Mein Topic bezieht sich auf die iogo App. Habe den Titel nochmal geändert, dachte aber, das der Tag "iogo" für die Zuordnung reicht. Sorry für die Verwirrung.
        Kann ich denn einen Topic hier direkt dem Thema iogo App zugehörig machen? Wenn ja, wie? Sorry für die Anfänger-Frage.

        Gruß und Danke,
        Eric

        crunchipC 1 Antwort Letzte Antwort
        0
        • E EStegemann

          @UncleSam Hi,
          Mein Topic bezieht sich auf die iogo App. Habe den Titel nochmal geändert, dachte aber, das der Tag "iogo" für die Zuordnung reicht. Sorry für die Verwirrung.
          Kann ich denn einen Topic hier direkt dem Thema iogo App zugehörig machen? Wenn ja, wie? Sorry für die Anfänger-Frage.

          Gruß und Danke,
          Eric

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

          @EStegemann dann solltest du eher hier deine Fragen stellen

          umgestiegen von Proxmox auf Unraid

          1 Antwort Letzte Antwort
          0
          • E EStegemann

            Hallo Zusammen,
            Keine Ahnung, ob der Topic hier richtig platziert ist, würde aber ein paar Verbesserungsvorschläge loswerden wollen.
            Was wahrscheinlich sehr hilfreich wäre, wenn die Objekte/Geräte direkt in der den Räumen und Funktionen zugeordnet werden können und anschließend so auch iobroker angelegt werden. Das würde den extra Schritt, die Zuordnung zuerst in iobroker machen zu müssen, obsolet setzen. Des Weiteren wäre es toll, wenn die States auch über die Icons direkt sichtbar gemacht werden können. Soll heiße, Hue Lampe an - - > ausgefüllt Lampe als Icon. Lampe aus--> nicht gefüllte Lampe als Icon. Wäre das realisierbar?

            Gruß und Danke,
            Eric

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

            @EStegemann sagte in Verbesserungsvorschläge iogo App:

            Was wahrscheinlich sehr hilfreich wäre, wenn die Objekte/Geräte direkt in der den Räumen und Funktionen zugeordnet werden können und anschließend so auch iobroker angelegt werden. Das würde den extra Schritt, die Zuordnung zuerst in iobroker machen zu müssen, obsolet setzen.

            Dazu müsste die App alle Objekte kennen, was aktuell nicht machbar ist bei der Menge an Objekten die manche haben.

            Des Weiteren wäre es toll, wenn die States auch über die Icons direkt sichtbar gemacht werden können. Soll heiße, Hue Lampe an - - > ausgefüllt Lampe als Icon. Lampe aus--> nicht gefüllte Lampe als Icon. Wäre das realisierbar?

            Meinst du die Icons links in der Anzeige?
            Das ist machbar, nehme ich mit auf meine Todoliste.
            Bei welchen Objekten wäre das noch sinnvoll?
            Ich nutze als Icons diese hier: https://materialdesignicons.com

            E 2 Antworten Letzte Antwort
            0
            • ? Ein ehemaliger Benutzer

              @EStegemann sagte in Verbesserungsvorschläge iogo App:

              Was wahrscheinlich sehr hilfreich wäre, wenn die Objekte/Geräte direkt in der den Räumen und Funktionen zugeordnet werden können und anschließend so auch iobroker angelegt werden. Das würde den extra Schritt, die Zuordnung zuerst in iobroker machen zu müssen, obsolet setzen.

              Dazu müsste die App alle Objekte kennen, was aktuell nicht machbar ist bei der Menge an Objekten die manche haben.

              Des Weiteren wäre es toll, wenn die States auch über die Icons direkt sichtbar gemacht werden können. Soll heiße, Hue Lampe an - - > ausgefüllt Lampe als Icon. Lampe aus--> nicht gefüllte Lampe als Icon. Wäre das realisierbar?

              Meinst du die Icons links in der Anzeige?
              Das ist machbar, nehme ich mit auf meine Todoliste.
              Bei welchen Objekten wäre das noch sinnvoll?
              Ich nutze als Icons diese hier: https://materialdesignicons.com

              E Offline
              E Offline
              EStegemann
              schrieb am zuletzt editiert von
              #7

              @nis Ja genau, die Links in der Anzeige. Als Beispiel mein Home Screen (da ich noch teste ist nicht viel drauf) : dieser zeigt den State vom Terrassenlicht. Jetzt ist dieser als Switch konfiguriert, schöne wäre es jedoch ein Lampensymbol, was zum eine den Zustand anzeigt (ob an oder nicht) und bei darauf tippen, auch auch das Licht schaltet. Was mir auch gerade noch einfällt. Schön wäre es auch, wenn man den Homescreen mehr konfigurieren könnte. Ich hatte bspw. gerne den Status der Türkontakte nebeneinander anstatt untereinander. Dazu müsste man die Größe der Kacheln ändern können. Wäre das möglich? Könnte man auch die Bezeichnung App-intern ändern, sodass dort nicht steht bspw. Wohnzimmer Links (Status) - Status:Close sondern Wohnzimmer Links zu?
              Screenshot_20210103_145534_de.nisnagel.iogo.jpg

              Gruß und Danke,
              Eric!

              crunchipC 1 Antwort Letzte Antwort
              0
              • E EStegemann

                @nis Ja genau, die Links in der Anzeige. Als Beispiel mein Home Screen (da ich noch teste ist nicht viel drauf) : dieser zeigt den State vom Terrassenlicht. Jetzt ist dieser als Switch konfiguriert, schöne wäre es jedoch ein Lampensymbol, was zum eine den Zustand anzeigt (ob an oder nicht) und bei darauf tippen, auch auch das Licht schaltet. Was mir auch gerade noch einfällt. Schön wäre es auch, wenn man den Homescreen mehr konfigurieren könnte. Ich hatte bspw. gerne den Status der Türkontakte nebeneinander anstatt untereinander. Dazu müsste man die Größe der Kacheln ändern können. Wäre das möglich? Könnte man auch die Bezeichnung App-intern ändern, sodass dort nicht steht bspw. Wohnzimmer Links (Status) - Status:Close sondern Wohnzimmer Links zu?
                Screenshot_20210103_145534_de.nisnagel.iogo.jpg

                Gruß und Danke,
                Eric!

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

                @EStegemann sagte in Verbesserungsvorschläge iogo App:

                Ich hatte bspw. gerne den Status der Türkontakte nebeneinander anstatt untereinander.

                Ich hab das so gelöst
                Screenshot_20210103-152544_iogo.jpg

                umgestiegen von Proxmox auf Unraid

                E 1 Antwort Letzte Antwort
                0
                • crunchipC crunchip

                  @EStegemann sagte in Verbesserungsvorschläge iogo App:

                  Ich hatte bspw. gerne den Status der Türkontakte nebeneinander anstatt untereinander.

                  Ich hab das so gelöst
                  Screenshot_20210103-152544_iogo.jpg

                  E Offline
                  E Offline
                  EStegemann
                  schrieb am zuletzt editiert von
                  #9

                  @crunchip wie hast du das umgesetzt in iobroker? Kannst du dazu ein bisschen mehr schreiben. Würde das auch gerne für mich so übernehmen.(Bis evtl. der Homescreen konfigurierbarer wird 😉).
                  Danke und Gruß,
                  Eric

                  crunchipC 1 Antwort Letzte Antwort
                  0
                  • ? Ein ehemaliger Benutzer

                    @EStegemann sagte in Verbesserungsvorschläge iogo App:

                    Was wahrscheinlich sehr hilfreich wäre, wenn die Objekte/Geräte direkt in der den Räumen und Funktionen zugeordnet werden können und anschließend so auch iobroker angelegt werden. Das würde den extra Schritt, die Zuordnung zuerst in iobroker machen zu müssen, obsolet setzen.

                    Dazu müsste die App alle Objekte kennen, was aktuell nicht machbar ist bei der Menge an Objekten die manche haben.

                    Des Weiteren wäre es toll, wenn die States auch über die Icons direkt sichtbar gemacht werden können. Soll heiße, Hue Lampe an - - > ausgefüllt Lampe als Icon. Lampe aus--> nicht gefüllte Lampe als Icon. Wäre das realisierbar?

                    Meinst du die Icons links in der Anzeige?
                    Das ist machbar, nehme ich mit auf meine Todoliste.
                    Bei welchen Objekten wäre das noch sinnvoll?
                    Ich nutze als Icons diese hier: https://materialdesignicons.com

                    E Offline
                    E Offline
                    EStegemann
                    schrieb am zuletzt editiert von
                    #10

                    @nis ich denke das wäre zudem auch sinnvoll bei Tür - und Fensterkontakten (da bspw. Ein offenes und geschlossenes Fenster) aber auch bei Schaltern an sich,wo bspw. der Schaltericon die Farbe ändert für den jeweiligen On/off Zustand.

                    1 Antwort Letzte Antwort
                    0
                    • E EStegemann

                      @crunchip wie hast du das umgesetzt in iobroker? Kannst du dazu ein bisschen mehr schreiben. Würde das auch gerne für mich so übernehmen.(Bis evtl. der Homescreen konfigurierbarer wird 😉).
                      Danke und Gruß,
                      Eric

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

                      @EStegemann es laufen bei mir, entsprechend die Scripte, Fenster/Tür/Licht, davon gibt es den DP, der anzeigt, welche Tür/Fenster bzw welches Licht brennt, diesen DP entsprechend mit in die Funktion genommen und somit hast du die Anzeige in der App
                      gibt hier im Forum mehrere Threads bzw mehrere Scripte, da abhängig, welche Geräte verwendet werden.
                      Suchbegriffe

                      • Lichter zählen
                      • Tür/ Fenster zählen

                      gibt auch ein Script, siehe https://github.com/Pittini/iobroker-Fensterauswertung - https://forum.iobroker.net/topic/31674/vorlage-generisches-fensteroffenskript-vis

                      hier ein Script, das ich verwende um Lichter zu zählen, hab es für mich angepasst, unter anderem für
                      sonoff, shelly, mi-light, tuya, milight-smart-light und zigbee

                      /* Status Zahl Lichter
                      
                      zählt die Lichter in allen Räumen und meldet die Eingeschalteten namentlich
                      Daten kommen vom Gewerk "licht"
                      
                      erstellt: 17.06.2015 nach diesem Vorbild: viewtopic.php?f=21&t=869&sid=f9ba5657489ff431a1990884f90779c1#p6564
                      23.06.2015 globale Variablendefinition zählen_Lichter.textLichterAn fehlte und wurde hinzugefügt
                      Log Ausgabe auskommentiert
                      05.08.2015 STATE aus der Ausgabe entfernt nach Idee von stephan61 http://forum.iobroker.org/viewtopic.php ... t=20#p9267
                      24.03.2016 keine Anzeigen von virtuellen Kanälen mehr (in Abhängigkeit der Abfrage des Namens)
                      06.05.2016 Datenpunkt für Ansagen zugefügt
                      02.07.2016 abgeschaltet, da Fehler
                      03.07.2016 Zähl-Funktion getrennt nach Schalter und Dimmer
                      search statt indexOf und RegEx für Suche nach Virtuellen Kanälen
                      27.11.2016 Verschoben in Status
                      Code optimiert
                      23.12.2016 Räume eingebaut
                      */
                      var logging = true;
                      
                      var idAnzahlEin = 'javascript.0.Status.Lichter.Anzahl_ein',
                      idAnzahl = 'javascript.0.Status.Lichter.Anzahl',
                      idText = 'javascript.0.Status.Lichter.Text',
                      idRaum = 'javascript.0.Status.Lichter.Raum', // <---- NEU
                      idAnsage = 'javascript.0.Status.Lichter.Ansage';
                      
                      // Ab hier nix mehr ändern
                      createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
                      type: 'number',
                      name: 'Anzahl aller Lichter',
                      min: 0,
                      def: 0,
                      role: 'value'
                      });
                      createState(idAnzahlEin, { // Anzahl der Lichter, die auf sind als Variable unter Javascript.0 anlegen
                      type: 'number',
                      name: 'Anzahl der eingeschalteten Lichter',
                      min: 0,
                      def: 0,
                      role: 'value'
                      });
                      createState(idText, { // Anzahl der brennenden Lichter und deren Namen als Variable unter Javascript.0 anlegen
                      type: 'string',
                      name: 'Eingeschaltete Lichter',
                      desc: 'Namen der eingeschalteten Lichter',
                      def: ' ',
                      role: 'value'
                      });
                      createState(idAnsage, {
                      type: 'string',
                      name: 'Eingeschaltete Lichter (Ansage)',
                      desc: 'Namen der eingeschalteten Lichter (für Ansage aufbereitet)',
                      def: ' ',
                      role: 'value'
                      });
                      createState(idRaum, { // Räume, in denen Lichter brennen // <---- NEU
                      type: 'string',
                      name: 'Räume mit eingeschalteten Lichter',
                      desc: 'Namen der Räume, in denen Lichter eingeschaltet sind',
                      def: ' ',
                      role: 'value'
                      });
                      
                      var cacheSelectorState = $('channel[state.id=*.STATE](functions="licht")'); // Gewerk licht
                      var cacheSelectorLevel = $('channel[state.id=*.level](functions="licht")');
                      var cacheSelectorPOWER = $('state[id=*.POWER](functions="licht")'); // Sonoff
                      var cacheSelectorSwitch = $('state[id=*.Switch](functions="licht")'); // Shelly
                      var cacheSelectorMi = $('state[id=*.state](functions=licht)'); //Mi-Light
                      var cacheSelectorTuya = $('state[id=*.1](functions="licht")'); //Tuya
                      var cacheSelectorSmart = $('state[id=*.onoff](functions="licht")');//Milight-Smart-Light
                      var cacheSelectorZigbee = $('state[id=*.state](functions=licht)'); //Zigbee
                      
                      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('++++++ Lichter Anzahl ++++ ');
                      log('#### SCHALTER ##### ');
                      }*/
                      cacheSelectorState.each(function (id, i) { // Schleife für jedes gefundenen Element *.STATE 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
                      
                      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
                      
                      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 
                      }); 
                      
                      
                      /*if (logging) {
                      log('++++++ Lichter Anzahl ++++ ');
                      log('#### SCHALTER ##### ');
                      }*/
                      cacheSelectorPOWER.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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("POWER")); //.state aus Text entfernen
                      var raumname = getObject(id, "rooms"); // <---- NEU
                      
                      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('++++++ Lichter Anzahl ++++ ');
                      log('#### SCHALTER ##### ');
                      }*/
                      cacheSelectorSwitch.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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;
                      var raumname = getObject(id, "rooms"); // <---- NEU
                      
                      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('++++++ Lichter Anzahl ++++ ');
                      log('#### SCHALTER ##### ');
                      }*/
                      cacheSelectorMi.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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(" Switch ON/OFF")); //.state aus Text entfernen
                      var raumname = getObject(id, "rooms"); // <---- NEU
                      
                      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('++++++ Lichter Anzahl ++++ ');
                      log('#### SCHALTER ##### ');
                      }*/
                      cacheSelectorTuya.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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(" switch")); //.state aus Text entfernen
                      var raumname = getObject(id, "rooms"); // <---- NEU
                      
                      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('++++++ Lichter Anzahl ++++ ');
                      log('#### SCHALTER ##### ');
                      }*/
                      cacheSelectorSmart.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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("On/Off")); //.state aus Text entfernen
                      var raumname = getObject(id, "rooms"); // <---- NEU
                      
                      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('++++++ Lichter Anzahl ++++ ');
                      log('#### SCHALTER ##### ');
                      }*/
                      cacheSelectorZigbee.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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(" Switch state")); //.state aus Text entfernen
                      var raumname = getObject(id, "rooms"); // <---- NEU
                      
                      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
                      });
                      
                      // 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 Lichter: " + anzahlLichter + " # davon Lichter an: " + 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();
                      });
                      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();
                      });
                      cacheSelectorPOWER.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();
                      });
                      cacheSelectorSwitch.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();
                      });
                      cacheSelectorTuya.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();
                      });
                      cacheSelectorSmart.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();
                      });
                      cacheSelectorZigbee.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();
                      });
                      
                      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 ) ? 'Lichter eingeschaltet: ' + strip_tags(text) : 'Alle Lichter ausgeschaltet';
                      setState(idAnsage, text);
                      });
                      

                      umgestiegen von Proxmox auf Unraid

                      E 1 Antwort Letzte Antwort
                      0
                      • crunchipC crunchip

                        @EStegemann es laufen bei mir, entsprechend die Scripte, Fenster/Tür/Licht, davon gibt es den DP, der anzeigt, welche Tür/Fenster bzw welches Licht brennt, diesen DP entsprechend mit in die Funktion genommen und somit hast du die Anzeige in der App
                        gibt hier im Forum mehrere Threads bzw mehrere Scripte, da abhängig, welche Geräte verwendet werden.
                        Suchbegriffe

                        • Lichter zählen
                        • Tür/ Fenster zählen

                        gibt auch ein Script, siehe https://github.com/Pittini/iobroker-Fensterauswertung - https://forum.iobroker.net/topic/31674/vorlage-generisches-fensteroffenskript-vis

                        hier ein Script, das ich verwende um Lichter zu zählen, hab es für mich angepasst, unter anderem für
                        sonoff, shelly, mi-light, tuya, milight-smart-light und zigbee

                        /* Status Zahl Lichter
                        
                        zählt die Lichter in allen Räumen und meldet die Eingeschalteten namentlich
                        Daten kommen vom Gewerk "licht"
                        
                        erstellt: 17.06.2015 nach diesem Vorbild: viewtopic.php?f=21&t=869&sid=f9ba5657489ff431a1990884f90779c1#p6564
                        23.06.2015 globale Variablendefinition zählen_Lichter.textLichterAn fehlte und wurde hinzugefügt
                        Log Ausgabe auskommentiert
                        05.08.2015 STATE aus der Ausgabe entfernt nach Idee von stephan61 http://forum.iobroker.org/viewtopic.php ... t=20#p9267
                        24.03.2016 keine Anzeigen von virtuellen Kanälen mehr (in Abhängigkeit der Abfrage des Namens)
                        06.05.2016 Datenpunkt für Ansagen zugefügt
                        02.07.2016 abgeschaltet, da Fehler
                        03.07.2016 Zähl-Funktion getrennt nach Schalter und Dimmer
                        search statt indexOf und RegEx für Suche nach Virtuellen Kanälen
                        27.11.2016 Verschoben in Status
                        Code optimiert
                        23.12.2016 Räume eingebaut
                        */
                        var logging = true;
                        
                        var idAnzahlEin = 'javascript.0.Status.Lichter.Anzahl_ein',
                        idAnzahl = 'javascript.0.Status.Lichter.Anzahl',
                        idText = 'javascript.0.Status.Lichter.Text',
                        idRaum = 'javascript.0.Status.Lichter.Raum', // <---- NEU
                        idAnsage = 'javascript.0.Status.Lichter.Ansage';
                        
                        // Ab hier nix mehr ändern
                        createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
                        type: 'number',
                        name: 'Anzahl aller Lichter',
                        min: 0,
                        def: 0,
                        role: 'value'
                        });
                        createState(idAnzahlEin, { // Anzahl der Lichter, die auf sind als Variable unter Javascript.0 anlegen
                        type: 'number',
                        name: 'Anzahl der eingeschalteten Lichter',
                        min: 0,
                        def: 0,
                        role: 'value'
                        });
                        createState(idText, { // Anzahl der brennenden Lichter und deren Namen als Variable unter Javascript.0 anlegen
                        type: 'string',
                        name: 'Eingeschaltete Lichter',
                        desc: 'Namen der eingeschalteten Lichter',
                        def: ' ',
                        role: 'value'
                        });
                        createState(idAnsage, {
                        type: 'string',
                        name: 'Eingeschaltete Lichter (Ansage)',
                        desc: 'Namen der eingeschalteten Lichter (für Ansage aufbereitet)',
                        def: ' ',
                        role: 'value'
                        });
                        createState(idRaum, { // Räume, in denen Lichter brennen // <---- NEU
                        type: 'string',
                        name: 'Räume mit eingeschalteten Lichter',
                        desc: 'Namen der Räume, in denen Lichter eingeschaltet sind',
                        def: ' ',
                        role: 'value'
                        });
                        
                        var cacheSelectorState = $('channel[state.id=*.STATE](functions="licht")'); // Gewerk licht
                        var cacheSelectorLevel = $('channel[state.id=*.level](functions="licht")');
                        var cacheSelectorPOWER = $('state[id=*.POWER](functions="licht")'); // Sonoff
                        var cacheSelectorSwitch = $('state[id=*.Switch](functions="licht")'); // Shelly
                        var cacheSelectorMi = $('state[id=*.state](functions=licht)'); //Mi-Light
                        var cacheSelectorTuya = $('state[id=*.1](functions="licht")'); //Tuya
                        var cacheSelectorSmart = $('state[id=*.onoff](functions="licht")');//Milight-Smart-Light
                        var cacheSelectorZigbee = $('state[id=*.state](functions=licht)'); //Zigbee
                        
                        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('++++++ Lichter Anzahl ++++ ');
                        log('#### SCHALTER ##### ');
                        }*/
                        cacheSelectorState.each(function (id, i) { // Schleife für jedes gefundenen Element *.STATE 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
                        
                        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
                        
                        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 
                        }); 
                        
                        
                        /*if (logging) {
                        log('++++++ Lichter Anzahl ++++ ');
                        log('#### SCHALTER ##### ');
                        }*/
                        cacheSelectorPOWER.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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("POWER")); //.state aus Text entfernen
                        var raumname = getObject(id, "rooms"); // <---- NEU
                        
                        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('++++++ Lichter Anzahl ++++ ');
                        log('#### SCHALTER ##### ');
                        }*/
                        cacheSelectorSwitch.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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;
                        var raumname = getObject(id, "rooms"); // <---- NEU
                        
                        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('++++++ Lichter Anzahl ++++ ');
                        log('#### SCHALTER ##### ');
                        }*/
                        cacheSelectorMi.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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(" Switch ON/OFF")); //.state aus Text entfernen
                        var raumname = getObject(id, "rooms"); // <---- NEU
                        
                        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('++++++ Lichter Anzahl ++++ ');
                        log('#### SCHALTER ##### ');
                        }*/
                        cacheSelectorTuya.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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(" switch")); //.state aus Text entfernen
                        var raumname = getObject(id, "rooms"); // <---- NEU
                        
                        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('++++++ Lichter Anzahl ++++ ');
                        log('#### SCHALTER ##### ');
                        }*/
                        cacheSelectorSmart.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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("On/Off")); //.state aus Text entfernen
                        var raumname = getObject(id, "rooms"); // <---- NEU
                        
                        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('++++++ Lichter Anzahl ++++ ');
                        log('#### SCHALTER ##### ');
                        }*/
                        cacheSelectorZigbee.each(function (id, i) { // Schleife für jedes gefundenen Element *.POWER 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(" Switch state")); //.state aus Text entfernen
                        var raumname = getObject(id, "rooms"); // <---- NEU
                        
                        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
                        });
                        
                        // 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 Lichter: " + anzahlLichter + " # davon Lichter an: " + 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();
                        });
                        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();
                        });
                        cacheSelectorPOWER.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();
                        });
                        cacheSelectorSwitch.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();
                        });
                        cacheSelectorTuya.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();
                        });
                        cacheSelectorSmart.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();
                        });
                        cacheSelectorZigbee.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();
                        });
                        
                        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 ) ? 'Lichter eingeschaltet: ' + strip_tags(text) : 'Alle Lichter ausgeschaltet';
                        setState(idAnsage, text);
                        });
                        

                        E Offline
                        E Offline
                        EStegemann
                        schrieb am zuletzt editiert von
                        #12

                        @crunchip perfekt! Schaue ich mir gleich mal.
                        Hast mir sehr geholfen.
                        Danke

                        1 Antwort Letzte Antwort
                        0

                        Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                        Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                        Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                        Registrieren Anmelden
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        392

                        Online

                        32.8k

                        Benutzer

                        82.8k

                        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