Redmatic / Node-RED / HmIP-BS2 (& HmIP-PS-2, HmIP-SWDO-2, HmIP-BSM)

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

Phil_muc
Beiträge: 16
Registriert: 06.01.2024, 13:32
System: CCU

Redmatic / Node-RED / HmIP-BS2 (& HmIP-PS-2, HmIP-SWDO-2, HmIP-BSM)

Beitrag von Phil_muc » 06.01.2024, 14:05

Hallo zusammen,

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');
    }
};
Es sind also die drei Zeilen "this.addService [...] 8. STATE'); ergänzt worden.

Unter Node-RED ist der Aktor zwar immer noch nicht mit beiden Kanälen dargestellt, dafür im HomeKit nun wie folgt zusammengefasst:
IMG_1624.PNG
Klickt man dann "großes Licht" gelangt man auf folgende "Unterseite":
IMG_1625.PNG
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
Zuletzt geändert von Phil_muc am 06.01.2024, 15:01, insgesamt 1-mal geändert.

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: Redmatic / Node-RED / HmIP-BS2 (& HmIP-PS-2, HmIP-SWDO-2, HmIP-BSM)

Beitrag von Henke » 06.01.2024, 14:50

Als Verdacht...

nodes\redmatic-homekit-homematic-devices.html

Code: Alles auswählen

                            case 'hmip-bsm':
                            case 'hmip-bs2': // <- hinzufügen
                                addChannels(addr, 4, 4, {type: switchTypes});
                                break;

NodeRed neu starten und FlowFenster neu laden nicht vergessen.


Phil_muc
Beiträge: 16
Registriert: 06.01.2024, 13:32
System: CCU

Re: Redmatic / Node-RED / HmIP-BS2 (& HmIP-PS-2, HmIP-SWDO-2, HmIP-BSM)

Beitrag von Phil_muc » 06.01.2024, 15:46

Vielen Dank an @Henke und @Baxxy. Dies hat mir schon weitergeholfen (auch wenn es im Ergebnis noch nichts hilft):

Vorher sah es unter Node-RED so aus:
1.png
1.png (6.54 KiB) 352 mal betrachtet
Ich habe also in der redmatic-homekit-homematic-devices.html die Zeile

Code: Alles auswählen

case 'hmip-bs2':
ergänzt.

Dann sah es unter Node-RED so aus:
2.png
2.png (9.69 KiB) 352 mal betrachtet
Der weitere Channel hat also dazu geführt, dass ich die Art des Schalters wählen kann. Aber mir fehlte immer noch der Kanal 8. Also habe ich die oben ergänzte Zeile wieder gelöscht und folgenden kompletten neuen Eintrag angelegt:

Code: Alles auswählen

case 'hmip-bs2':                                    
    addChannels(addr, 4, 4, {type: switchTypes});   
    addChannels(addr, 8, 8, {type: switchTypes});   
    break;  
Dies hat nun dazu geführt, dass es unter Node-RED so aussieht:
3.png
3.png (12.3 KiB) 352 mal betrachtet
Damit sind nun auch im Node-RED alle Kanäle vorhanden.

Dann habe ich nun "cp hmip-pcbs2.js hmip-bs2.js" ausgeführt. In der dritte Zeile steht nun

Code: Alles auswählen

module.exports = class HmipPcbs2 extends Accessory {
Dies habe ich nun nicht geändert.

Leider wird der Aktor von HomeKit weiterhin mit Unterseite angezeigt. Mittlerweile habe ich die Befürchtung, dass dies ein Apple-"Problem" ist!?

Viele Grüße,

phil

Phil_muc
Beiträge: 16
Registriert: 06.01.2024, 13:32
System: CCU

Re: Redmatic / Node-RED / HmIP-BS2 (& HmIP-PS-2, HmIP-SWDO-2, HmIP-BSM)

Beitrag von Phil_muc » 06.01.2024, 16:01

Es scheint tatsächlich ein Apple-"Problem" zu sein:

Geht man in HomeKit, erhält man folgende Ansicht:
IMG_1625.PNG
Geht man dann in die Geräteeinstellungen des Schalters, sieht man folgende Einstellung:
IMG_1626.PNG
Dies kann man ändern, so dass es dann so aussieht:
IMG_1627.PNG
Dann sieht es tatsächlich so aus:
IMG_1628.PNG
Jetzt stört mich tatsächlich nur noch, dass es unter "Sonstiges" und nicht unter "Lichtquelle" ausgeführt ist. Kann ich dies noch ändern?

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: Redmatic / Node-RED / HmIP-BS2 (& HmIP-PS-2, HmIP-SWDO-2, HmIP-BSM)

Beitrag von Henke » 06.01.2024, 16:07

Vielleicht deine alte Vorlage nehmen mit Lightbulb und nicht mixen mit Lightbulb und Switch?

Phil_muc
Beiträge: 16
Registriert: 06.01.2024, 13:32
System: CCU

Re: Redmatic / Node-RED / HmIP-BS2 (& HmIP-PS-2, HmIP-SWDO-2, HmIP-BSM)

Beitrag von Phil_muc » 06.01.2024, 16:52

@Henke:

Das war es. Vielen, vielen Dank für den Support.

Ich hoffe, dass auch andere Nutzer davon profitieren können!

Phil_muc
Beiträge: 16
Registriert: 06.01.2024, 13:32
System: CCU

Re: Redmatic / Node-RED / HmIP-BS2 (& HmIP-PS-2, HmIP-SWDO-2, HmIP-BSM)

Beitrag von Phil_muc » 06.01.2024, 17:56

Noch eine abschließende Anmerkung:

Nach wie vor hatte ich in Node-RED meine drei HmIP-PS-2 (Schaltsteckdose) nicht gesehen. Im HomeKit dagegen schon.

Daher habe ich auch hier, gemäß der Empfehlung von @Henke den Code in der redmatic-homekit-homematic-devices.html ergänzt.

Der Ursprungs-Code lautete wie folgt:

Code: Alles auswählen

case 'hmip-ps':
case 'hmip-psm':
   addChannels(addr, 3, 3, {type: outletTypes});
   break;

Ich habe ihn dann - vorsorglich in verschiedensten Varianten - wie folgt ergänzt:

case 'hmip-ps':
case 'hmip-psm':
case 'hmip-ps-2 9ym':
case 'hmip-ps-2-9ym':
case 'hmip-ps-2_9ym':
case 'hmip-ps-2':
   addChannels(addr, 3, 3, {type: outletTypes});
   break; 
Dies leider ohne Erfolg. Ich bekam die drei Geräte nicht im Node-RED angezeigt.

Daher habe ich dann im homematic-devices-Ordner noch ein Duplikat mit

Code: Alles auswählen

cp hmip-ps-2_9ym.js 'hmip-ps-2 9ym.js'
angelegt.

Nun sehe ich auch meine Schaltsteckdose in RED-Note.

Matü
Beiträge: 58
Registriert: 14.04.2022, 22:26
System: CCU
Wohnort: Essen
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: Redmatic / Node-RED / HmIP-BS2 (& HmIP-PS-2, HmIP-SWDO-2, HmIP-BSM)

Beitrag von Matü » 06.01.2024, 18:59

Oh man, ich glaube, darauf habe ich gewartet. Ich muss nur noch durchsteigen. Bei mir sehe ich die neuen Geräte auch nicht im Node-RED...
Grüße und vielen Dank!

Markus

Phil_muc
Beiträge: 16
Registriert: 06.01.2024, 13:32
System: CCU

Re: Redmatic / Node-RED / HmIP-BS2 (& HmIP-PS-2, HmIP-SWDO-2, HmIP-BSM)

Beitrag von Phil_muc » 06.01.2024, 19:05

@Matü

Ist eigentlich total easy. Wichtig sind:

1. ssh-Zugang;
2. Der Ordner /usr/local/addons/redmatic/lib/node_modules/redmatic-homekit/homematic-devices;
3. Der Ordner /usr/local/addons/redmatic/lib/node_modules/redmatic-homekit/nodes;
4. Die ssh-Befehle "cp", "vi", editieren mit "i", "ESC" und ":wq" für speichern und beenden;

Viel Spaß und Erfolg!
Zuletzt geändert von Phil_muc am 07.01.2024, 13:08, insgesamt 1-mal geändert.

Antworten

Zurück zu „RedMatic“