Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Cloud Adapter + Alexa + Mehrere Räume

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Cloud Adapter + Alexa + Mehrere Räume

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      coalado last edited by

      Ich habe in IO Broker einigen Lampen mehrere Räume zugeordnet.
      D.h.
      Lampe A ist Teil von "Raum" Sofa und Wohnzimmer
      Lampe B ist Teil von "Raum" Esstisch und Wohnzimmer
      "Alexa, schalte das Licht am Sofa an" (Nur Sofa geht an)
      "Alexa,schalte das Licht im Wohnzimmer an" (Sofa UND Esstisch) geht an.

      Die Virtuellen Geräte im Cloud Adapter werden zwar angelegt, allerdings ist eine Lampe jeweils nur in einem Raum angelegt.

      Hat da jemand einen Tipp?
      Vielen Dank.

      1 Reply Last reply Reply Quote 0
      • C
        coalado last edited by

        Problem gelöst:
        Ich habe mir ein eigenes Script geschrieben, über das die Virtuellen Geräte angelegt werden.

        Dazu lösche ich erst alle Einstellungen des Cloud Adapters:

        $('state').each(function (id) {
            var obj = getObject(id);
            if (obj.common.smartName) {
                //console.log(id);
                extendObject(id, {
                    common: {
                        smartName: null
                    }
                });
            }
        });
        

        Dann sammle ich alle Räume und Funktionen ein, und gruppiere die zu den entsprechenden IDs:

        var objects = {};
        getEnums('rooms').forEach(function (obj) {
            obj.members.forEach(function (id) {
                var o = objects[id];
                if (!o) o = objects[id] = { rooms: [], functions: [], id: id };
                var name = typeof obj.name == "string" ? obj.name : obj.name.de;
                o.rooms.push(name);
            })
        })
        
        getEnums('functions').forEach(function (obj) {
            obj.members.forEach(function (id) {
                var o = objects[id];
                if (!o) o = objects[id] = { rooms: [], functions: [], id: id };
                var name = typeof obj.name == "string" ? obj.name : obj.name.de;
                o.functions.push(name);
            })
        })
        
        

        Am Ende laufe ich durch alle IDs in objects, erstelle eine Liste von "Gerätenamen", und setze diese via extendObject.

        var virtualNames="Name1,Name2,Name3";
            extendObject(col.id, {
                common: {
                    smartName: {
                        de: virtualNames,
                        smartType: "LIGHT"
                    }
                }
            });
        

        Im Cloud Adapter deaktiviert man einfach nur alle Aufzählungen.

        Mein Script starte ich immer neu, wenn ich etwas an den Räumen oder Gruppen geändert habe.

        Stolpersteine:
        Der CloudAdapter blockiert manchmal das Ändern des smartName Feldes. Dann muss man den Cloud Adapter kurz abschalten während das Script läuft. Eventl geht das auch per Script?

        Auflistungen, Räume und Funktionen: Wenn man da was ändert, sollte man den Javascript Adapter neu starten, weil die Änderungen sonst noch nicht bekannt sind.

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate
        FAQ Cloud / IOT
        HowTo: Node.js-Update
        HowTo: Backup/Restore
        Downloads
        BLOG

        803
        Online

        32.0k
        Users

        80.4k
        Topics

        1.3m
        Posts

        alexa cloud template
        1
        2
        198
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo