Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. HM-Adapter: virtuelle Geräte einbinden

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    HM-Adapter: virtuelle Geräte einbinden

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

      Hallo,

      ich habe im Homematic WebUI mehrere virtuelle Geräte, die sich aus Heizungsgruppen abgeleitet haben. Diese finde ich nicht in den ioBroker Objekten. Es wäre aber besonders spannend, diese nutzen zu können, da sie Zustände eines gesamten Raums abbilden können. In diesem Fall wäre es interessant, einen Raum mit vielen Fenstern (Wohnzimmer) pauschal über einen einzelnen Zustand abfragen zu können ("Ist im Wohnzimmer irgendwo ein Fenster auf?").

      Ist das irgendwie machbar?

      455_heizgruppe.jpg

      Das sagt die Device-List der XML-API:

       <device name="GH_WZ INT0000002" address="INT0000002" ise_id="11394" interface="VirtualDevices" device_type="HM-CC-VG-1" ready_config="true"><channel name="GH_WZ INT0000002:1" type="17" address="INT0000002:1" ise_id="11406" direction="UNKNOWN" parent_device="11394" index="1" group_partner/aes_available="false" transmission_mode="DEFAULT" visible="true" ready_config="true" operate="true"><channel name="GH_WZ INT0000002:2" type="37" address="INT0000002:2" ise_id="11426" direction="UNKNOWN" parent_device="11394" index="2" group_partner/aes_available="false" transmission_mode="DEFAULT" visible="true" ready_config="true" operate="true"></channel></channel></device> 
      

      Was dort drin steht, müsste doch eigentlich auch in den ioBroker übernommen werden können, oder?

      Danke und viele Grüße

      Christian

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Hallo ChristianF,

        das ist für diese spezielle Aufgabe nicht nötig. Da kann ioBroker-Logik das selbst machen, ohne virtuelle Gruppe.

        http://forum.iobroker.org/viewtopic.php … 3a3b#p3653

        Habe ich erfolgreich im Einsatz, um zB auf einem Grundriss anzuzeigen, ob noch Fenster in einem Raum offen sind. Wenn ja, wird der Raum rot, sonst grün.

        Gruß

        Pix

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

          Hallo,

          hmm, ich bin mit Scripten nicht so wirklich gut unterwegs.. hätte zB keinen Plan wie ich dies an meine HM Installation anpassen muss.

          Einen Weg die Gruppen mit reinzunehmen gibts also nicht, richtig? Man muss nicht nur zB irgendwo eine Begrenzung o.ä. rausnehmen oder erweitern?

          Schade, dann fällt das Feature weg. Wäre sehr WAF-zuträglich gewesen 😉

          Viele Grüße

          Christian

          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Das Skript ist wirklich einfach zu handhaben. Du kannst es eigentlich kopieren und einfügen.

            Du musst nur auf die Gewerke/Räume achten. Ich habe in der HM-Webui unter Einstellungen/Geräte/ die entsprechenden TFK- und RHS-Sensoren dem Gewerk Fenster und eben dem richtigen Raum zugeordnet.

            Ich nutze dieses Skript im Wohnzimmer:

            // Select and show (for debug) all sensors in "Wohnzimmer" and with type "Fenster"
            var sensors = $('channel[state.id=*.STATE](rooms=Wohnzimmer)(functions=Fenster)');
            
            function getCurrentState() {
                var commonState = 0;
                sensors.each(function (id) {
                    if (id.indexOf('Statistik') != -1) return; 
                    var val = toInt(getState(id).val);
                    // Find the maximum (2 - opened, 1 - tilted, 0 - closed)
                    if (val > commonState) commonState = val;
                });
                return commonState;
            } 
            
            // On change
            sensors.on(function(obj) {
                // if (obj.id.indexOf('Statistik') == -1) setState('Status.Wohnzimmer.Fenster.alle', getCurrentState());
                setState("javascript.0.Status.Wohnzimmer.Fenster.alle"/*Status.Wohnzimmer.Fenster.alle*/, getCurrentState());
                var zustand = ['offen','gekippt','geschlossen'];
                log('Status aller Wohnzimmerfenster: ' + zustand[getState('Status.Wohnzimmer.Fenster.alle').val], 'info');
            });
            
            createState('Status.Wohnzimmer.Fenster.alle',getCurrentState());
            
            

            Für ein anderes Zimmer ersetzt du einfach jedes "Wohnzimmer" durch "anderesZimmer"

            Eine Zusatzfunktion ist auch noch drin: Ich habe für die Sensoren zusätzlich CUxD Statistik Wrapper Devices angelegt. Die heißen dann "Statistik Name Gerät". Damit diese Wrapper Devices bei Auswertung der fensterzustände keine Rolle spielen, werden Sie ignoriert.

            Im Objekt "javascript.0.Status.Wohnzimmer.Fenster.alle" steht dann 0 (zu), 1 (kipp) oder 2 (offen) für alle Fenster des Raumes.

            Für jeden Raum ein Skript angelegt. Fertig.

            Gruß

            Pix

            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

            426
            Online

            31.9k
            Users

            80.2k
            Topics

            1.3m
            Posts

            2
            4
            1699
            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