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 Offline
    E Offline
    EStegemann
    schrieb am zuletzt editiert von EStegemann
    #1

    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 UncleSamU ? 3 Antworten 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

      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

                          398

                          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