NEWS
HM-Adapter: virtuelle Geräte einbinden
-
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?
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
-
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
-
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
-
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