wie ich leider nach dem Kauf diverser neuer Produkte feststellen musste, werden die neueren Geräte von HmIP bei der Einbindung ins HomeKit nicht mehr unterstützt, da der Entwickler diese nicht weiter integriert. Das habe ich soweit verstanden.
Mein aktueller Einkauf waren HmIP-PS-2 (Schaltsteckdose) , HmIP-SWDO-2 (Fensterkontakt), HmIP-BSM (Schalt-Mess-Aktor) und HmIP-BS2 (Schaltaktor - 2-fach).
1. Den HmIP-SWDO-2 habe ich mit "cp hmip-swdo.js hmip-swdo-2.js" zum Laufen bekommen.
2. Der HmIP-BSM lief von Anfang an.
3. Den HmIP-PS-2 habe ich mit "cp hmip-ps.js hmip-ps-2.js" nicht zum Laufen bekommen. In der CCU3 wird er jedoch als "HmIP-PS-2 9YM" aufgeführt. Somit habe ich ihn mit "cp hmip-ps.js hmip-ps-2_9ym.js" zum Laufen bekommen.
4. Den HmIP-BS2 habe ich mit "cp hmip-bsm.js hmip-bs2.js" (halbwegs) zum Laufen bekommen.
Beim HmIP-BS2 fängt es daher nun mit nachhaltigen Problemen an. Dieser hat zwei Kanäle. Im "alten" Code vom BSM ist nur der Kanal 4 ausgeführt. Ich benötige aber noch den Kanal 8. Also habe ich den Code der hmip-bs2.js wie folgt ergänzt:
Code: Alles auswählen
const Accessory = require('./lib/accessory');
module.exports = class HmipBsm extends Accessory {
init(config) {
this.addService('Lightbulb', config.name)
.get('On', config.deviceAddress + ':4.STATE')
.set('On', config.deviceAddress + ':4.STATE');
this.addService('Lightbulb', config.name)
.get('On', config.deviceAddress + ':8.STATE')
.set('On', config.deviceAddress + ':8.STATE');
}
};
Unter Node-RED ist der Aktor zwar immer noch nicht mit beiden Kanälen dargestellt, dafür im HomeKit nun wie folgt zusammengefasst:
Klickt man dann "großes Licht" gelangt man auf folgende "Unterseite":
Grundsätzlich ist dies schon mal erfreulich, da ich zumindest beide Stromkreise nun per HomeKit schalten kann.
Für mich stellt sich aber nun die Frage, was ich im Code ändern muss, damit die beiden Kanäle "4" und "8" als getrennte Geräte aufgeführt werden und ich nicht den Umweg über die Unterseite gehen muss. Ich bin nun hier an meine Grenzen gestoßen.
Die doppelte Namensvergabe ("Fensterbad großes Licht") stört mich an dieser Stelle (noch) nicht, da ich diese wohl mit der Codeänderung "config.name" in "ccu.channelNames[config.deviceAddress + ':4]" ändern kann.
Vielen Dank für die Unterstützung!
Viele Grüße,
Phil