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
-