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

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

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Ccu.io regaIndex und regaObjects wird ersetzt durch?

NEWS

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

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

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

Ccu.io regaIndex und regaObjects wird ersetzt durch?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 1 Kommentatoren 1.1k Aufrufe
  • Ä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.
  • carsten04C Online
    carsten04C Online
    carsten04
    Developer
    schrieb am zuletzt editiert von
    #1

    Nabend zusammen,

    ich habe mich bisher und das auch erst seit kurzem mit ccu.io beschäftigt und auch schon fleißig Scripte erstellt. Bei der Portierung nach iobroker habe ich aber noch nicht so wirklich verstanden wie die beiden Objekte regaIndex und regaObjects ersetzt werden müssen. Hierzu mal ein ccu.io Beispielscript. Das Script schaltet in der Küche, Wohzimmer oder in allen Räumen das Licht entweder an oder aus, aber nur für die Lichter, die auch tatsächlich aus oder an sind. Dazu nutze ich an vielen Stellen die Objekte regaIndex und regaObjects zur Ermittlung von devices, channels und DPs. Wie muss ich das jetzt in iobroker scripten, damit es funktioniert. Bin für jeden Hinweis dankbar.

    Beste Grüße

    Carsten

    function allLightsToggle(obj) {
    	var idRole 				= regaIndex.Name["Licht"][0];	// ID des Gewerks mit dem Namen "Licht" ermitteln
    	var arrWithChannelIds 	= []; 							// alle IDs der Kanäle im Gewerk ermitteln
    
    	/* Alle ChannelIds bestimmen, die zu dem Raum gehören für den der Event ausgelöst wurde.  */
    	/* Wenn kein Raum gefunden wird, enthält arrWithChannelIds alle Ids aus dem Gewerk Licht. */
    	if(regaObjects[regaIndex.Name["Kueche"][0]].Channels.indexOf(obj.channel.id) != -1) {
    		arrWithChannelIds = regaObjects[regaIndex.Name["Kueche"][0]].Channels;
    	} else if(regaObjects[regaIndex.Name["Wohnzimmer"][0]].Channels.indexOf(obj.channel.id) != -1) {
    				arrWithChannelIds = regaObjects[regaIndex.Name["Wohnzimmer"][0]].Channels;
    		   } else {
    				arrWithChannelIds = regaObjects[regaIndex.Name["Licht"][0]].Channels;
    			 }
    
    	var cnt = 0;
        for (var i = 0; i < arrWithChannelIds.length; i++) {
            var channelName = regaObjects[arrWithChannelIds[i]].Name;
    
    		switch(regaObjects[arrWithChannelIds[i]].HssType) {
    			case 'SWITCH':
    				if(obj.channel.name.match(/aus:/) && getState(channelName, "STATE")) {
    					setTimeout(function(_NAME) {
    					setState(_NAME, false);
    					}, cnt * 500, channelName);
    					cnt++;
    				} else if(obj.channel.name.match(/an:/) && !getState(channelName, "STATE")) {
    					setTimeout(function(_NAME) {
    					setState(_NAME, true);
    					}, cnt * 500, channelName);
    					cnt++;		
    				  }
    			break;
    
    			case 'DIMMER':
    				if(obj.channel.name.match(/aus:/) && getState(channelName, "LEVEL") > 0) {
    					setTimeout(function(_NAME) {
    					setState(_NAME, 0);
    					}, cnt * 500, channelName);
    					cnt++;
    				} else if(obj.channel.name.match(/an:/) && getState(channelName, "LEVEL") == 0) {
    					setTimeout(function(_NAME) {
    					setState(_NAME, 1);
    					}, cnt * 500, channelName);
    					cnt++;
    				  }
    			break;
    
    			default:
    				log("function: allLightsOff -> unknown Device in Gewerk Licht: <<" + channelName + ">> Type: <<" + regaObjects[arrWithChannelIds[i]].HssType + ">>");
    		}
    	}
    }
    
    // Lichter aus oder an
    subscribe({channel:/^Alle Lichter( | Wohnzimmer | Kueche )(aus|an):[0-9]{1,2}$/}, function (obj) {
        allLightsToggle(obj);
    });
    
    
    1 Antwort Letzte Antwort
    0
    • carsten04C Online
      carsten04C Online
      carsten04
      Developer
      schrieb am zuletzt editiert von
      #2

      Hallo zusammen,

      niemand eine Idee, oder zu einfach? Vielleicht seh ich ja gerade nur den Wald vor lauter Bäumen nicht.

      Beste Grüße

      Carsten

      1 Antwort Letzte Antwort
      0
      • carsten04C Online
        carsten04C Online
        carsten04
        Developer
        schrieb am zuletzt editiert von
        #3

        Wer die Doku findet und auch liest der braucht nicht fragen :D. Lösung wäre dann die Nutzung des Selektors $(selector). Sehr mächtig und auch einfach in der Nutzung.

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


        Support us

        ioBroker
        Community Adapters
        Donate

        646

        Online

        32.4k

        Benutzer

        81.4k

        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