NEWS
[gelöst] Homematic IP-Adapter
-
ich habe heute meinen ersten Homematic-IP-Sensor in Betrieb genommen. Dabei haben sich drei Probleme ergeben:
1. Fehler im LOG:
hm-rpc.1 2017-06-24 10:26:22.018 warn No image for "HMIP-SWDO" found.
nicht ganz so schlimm, aber auch nicht schön
2. Die Namen der Geräte werden nicht aus der CCU2 übernommen. Während bei "normalen" Homematic-Geräten der Name bei "Name" eingetragen wird, wir bei der Homematic-IP die Seriennummer eingetragen:
3. Meine Skripte für offene Fenster und Batteriestand funktionieren nicht mehr. Der Selektor erfasst scheinbar die zweite Instanz nicht?
/* System zählen_Fenster zählt die Fenster in allen Räumen und meldet die offenen Fenster namentlich Daten kommen vom Gewerk 'Fenster' */ var cacheSelector = $('channel[state.id=*.STATE](functions=Fenster)'); createState('zählen_Fenster.anzahlFenster', 0); // wenn benötigt: Anzahl der vorhandenen Fenster createState('zählen_Fenster.anzahlFensterauf', 0); // Anzahl der Fenster, die an sind als Variable unter Javascript.0 anlegen createState('zählen_Fenster.textFensterauf', " "); // Text der Fenster, die an sind als Variable unter Javascript.0 anlegen var cacheSelectorState = $('channel[state.id=*.STATE](functions=Fenster)'); function countFenster(obj) { // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Licht auf 0 var anzahlFenster = 0; var anzahlFensterauf = 0; var textFensterauf = []; log('Auslösender Aktor: ' + obj.id + ': ' + obj.newState.val); // Info im Log, welcher Zustand sich geändert hat cacheSelectorState.each(function (id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Fenster var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element) var obj = getObject(id); var name = getObject(id).common.name; var devicename = name.substring(0, name.indexOf(".STATE")); //.state aus Text entfernen if (status === true || status >0) { // wenn Zustand = true, oder nicht 0 dann wird die Anzahl der Fenster hochgezählt textFensterauf.push(devicename); // Zu Array hinzufügen } log("Fenster Nr. " + i + ": " + getObject(id).common.name + ": " + status); ++anzahlFenster; // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status }); // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben log("Text: " + textFensterauf); log("Anzahl Fenster: " + anzahlFenster + " # davon Fenster auf: " + textFensterauf.length); // die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS) setState("zählen_Fenster.textFensterauf", textFensterauf.join(', ')); // Schreibt die aktuelle Namen der eingeschalteten Fenster setState("zählen_Fenster.anzahlFensterauf", textFensterauf.length); // Schreibt die aktuelle Anzahl der eingeschalteten Fenster setState("zählen_Fenster.anzahlFenster", anzahlFenster); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Fenster } cacheSelectorState.on(function(obj) { // bei Zustandänderung *. STATE im Gewerk Fenster countFenster(obj); });
Wer kann mir dazu einen Tipp geben?
-
Die Namen der Geräte werden nicht aus der CCU2 übernommen. Während bei "normalen" Homematic-Geräten der Name bei "Name" eingetragen wird, wir bei der Homematic-IP die Seriennummer eingetragen `
Hast Du den hm-rega Adapter entsprechend konfiguriert?
Post ggf. bitte einen Screenshot der Konfiguration vom hm-rega.
Gruß,
Eric
Gesendet von iPad mit Tapatalk
-
genau das war es. Der Haken bei Homematic IP war nicht gesetzt
Vielen Dank. Die Übernahme des Namen und Rollen geht jetzt und die Scripte auch.
Bleibt nur die Warnung wegen dem Logo - das ist aber wohl was für das nächste Update