NEWS
Hm-rpc 1.2.0
-
Hallo Bluefox,
ich hab die Version 1.3.0 installiert und mit mehreren Aktoren ausprobiert.
Mit einfachen Schaltaktoren klappt die Übertragung in beide Richtungen.
Problem ist auch hier der Jalousie-Aktor. Damit klappt es bei mir leider noch nicht.
Wenn ich den Wert für level in VIS ändere, wird dieser korrekt übertragen.
Wenn ich die Jalousie von Hand oder in der Homematic ändere, kam jedoch nur eine Änderung auf 0 (komplett zu) durch. Alle anderen Änderungen werden nicht übertragen.
Gruß
Markus
-
Ich hab jetzt auch den Grund gefunden, warum die Level-Werte falsch sind:
Es fehlt die Sonderlogik für Unit=100% in der neuen Version.
Statt 45% oder 100% wird nun als Level 0.45 % oder 1 % eingetragen.
-
Da kommen unerwartete Daten vom CCU.
Kannst du /opt/iobroker/node_modules/iobroker.hm-rpc/node_modules/binrpc/lib/server.js ändern (ab Zeile 70):
von
`// reorder WORKING datapoint for (var i = 0; i < request.params[0].length; i++) { if (request.params[0][i].params[2] === 'WORKING') { request.params[0][0] = request.params[0].splice(i, 1, request.params[0][0])[0]; } }` auf `~~[code]~~ // reorder WORKING datapoint for (var i = 0; i < request.params[0].length; i++) { if (request.params[0][i].params && request.params[0][i].params[2] === 'WORKING') { request.params[0][0] = request.params[0].splice(i, 1, request.params[0][0])[0]; } }` Erledigt. HM-RPC und HM-REGA vorher angehalten. Warte Änderungen ab. Danke, Pix ~~[color]~~ EDIT:[/color] XML Verbindung brachte weiterhin Fehler: `~~[code]~~2016-06-24 11:57:19.970 - [31merror[39m: hm-rpc.0 Error: XML-RPC fault: ping: unknown method name[/code]` Umstellung auf BIN-RPC funktionierte danach tadellos. Keine Fehler ausser dem obligatorischen `~~[code]~~2016-06-24 11:58:40.865 - [33mwarn[39m: hm-rpc.1 No image for "HM-TC-IT-WM-W-EU" found.[/code]` :lol: Somit sind auch Fehler beim Auslesen der Stromzähler und beim Schreiben der LED16-Anzeige wieder korrigiert. Danke![/code][/code][/i][/i][/code][/i] ``` `
-
Ich hab jetzt auch den Grund gefunden, warum die Level-Werte falsch sind:
Es fehlt die Sonderlogik für Unit=100% in der neuen Version.
Statt 45% oder 100% wird nun als Level 0.45 % oder 1 % eingetragen.
filename="levelbug.png" index="0">~~ `
Kannst du das Objekt hier Posten? -
Was benötigst du genau?
Hier erstmal ein Export eines Jalousieaktors von der Admin-Seite:
! {"hm-rpc.0.MEQ0735184.1":{"_id":"hm-rpc.0.MEQ0735184.1","type":"channel","common":{"name":"HM-LC-Bl1PBU-FMMEQ0735184:1","role":"blind","icon":"/icons/PushButton-2ch-wm_thumb.png"},"native":{"ADDRESS":"MEQ0735184:1","AES_ACTIVE":0,"DIRECTION":2,"FLAGS":1,"INDEX":1,"LINK_SOURCE_ROLES":"","LINK_TARGET_ROLES":"SWITCHWEATHER_CS","PARAMSETS":["LINK","MASTER","VALUES"],"PARENT":"MEQ0735184","PARENT_TYPE":"HM-LC-Bl1PBU-FM","TYPE":"BLIND","VERSION":8}},"hm-rpc.0.MEQ0735184.0":{"_id":"hm-rpc.0.MEQ0735184.0","type":"channel","common":{"name":"RolloWohnzOst1:0","icon":"/icons/PushButton-2ch-wm_thumb.png"},"native":{"ADDRESS":"MEQ0735184:0","AES_ACTIVE":0,"DIRECTION":0,"FLAGS":3,"INDEX":0,"LINK_SOURCE_ROLES":"","LINK_TARGET_ROLES":"","PARAMSETS":["MASTER","VALUES"],"PARENT":"MEQ0735184","PARENT_TYPE":"HM-LC-Bl1PBU-FM","TYPE":"MAINTENANCE","VERSION":8}},"hm-rpc.0.MEQ0735184":{"_id":"hm-rpc.0.MEQ0735184","type":"device","common":{"name":"RolloWohnzOst1","role":"blind","icon":"/icons/PushButton-2ch-wm_thumb.png"},"native":{"ADDRESS":"MEQ0735184","AVAILABLE_FIRMWARE":"2.8","CHILDREN":["MEQ0735184:0","MEQ0735184:1"],"FIRMWARE":"2.8","FLAGS":1,"INTERFACE":"LEQ0418982","PARAMSETS":["MASTER"],"PARENT":"","RF_ADDRESS":4093332,"ROAMING":0,"RX_MODE":1,"TYPE":"HM-LC-Bl1PBU-FM","UPDATABLE":1,"VERSION":8}},"hm-rpc.0.MEQ0735184.0.AES_KEY":{"type":"state","common":{"def":0,"type":"number","read":true,"write":false,"min":0,"max":127,"role":"value","name":"RolloWohnzOst1:0.AES_KEY"},"native":{"DEFAULT":0,"FLAGS":0,"ID":"AES_KEY","MAX":127,"MIN":0,"OPERATIONS":1,"TAB_ORDER":8,"TYPE":"INTEGER","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.0.AES_KEY"},"hm-rpc.0.MEQ0735184.0.CONFIG_PENDING":{"type":"state","common":{"def":false,"type":"boolean","read":true,"write":false,"role":"indicator","name":"RolloWohnzOst1:0.CONFIG_PENDING"},"native":{"DEFAULT":false,"FLAGS":9,"ID":"CONFIG_PENDING","MAX":true,"MIN":false,"OPERATIONS":5,"TAB_ORDER":2,"TYPE":"BOOL","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.0.CONFIG_PENDING"},"hm-rpc.0.MEQ0735184.0.DEVICE_IN_BOOTLOADER":{"type":"state","common":{"def":false,"type":"boolean","read":true,"write":false,"name":"RolloWohnzOst1:0.DEVICE_IN_BOOTLOADER"},"native":{"DEFAULT":false,"FLAGS":9,"ID":"DEVICE_IN_BOOTLOADER","MAX":true,"MIN":false,"OPERATIONS":5,"TAB_ORDER":6,"TYPE":"BOOL","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.0.DEVICE_IN_BOOTLOADER"},"hm-rpc.0.MEQ0735184.0.DUTYCYCLE":{"type":"state","common":{"def":false,"type":"boolean","read":true,"write":false,"role":"value","name":"RolloWohnzOst1:0.DUTYCYCLE"},"native":{"DEFAULT":false,"FLAGS":9,"ID":"DUTYCYCLE","MAX":true,"MIN":false,"OPERATIONS":5,"TAB_ORDER":3,"TYPE":"BOOL","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.0.DUTYCYCLE"},"hm-rpc.0.MEQ0735184.0.RSSI_DEVICE":{"type":"state","common":{"def":0,"type":"number","read":true,"write":false,"min":-2147483648,"max":2147483647,"role":"value","name":"RolloWohnzOst1:0.RSSI_DEVICE"},"native":{"DEFAULT":0,"FLAGS":1,"ID":"RSSI_DEVICE","MAX":2147483647,"MIN":-2147483648,"OPERATIONS":5,"TAB_ORDER":4,"TYPE":"INTEGER","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.0.RSSI_DEVICE"},"hm-rpc.0.MEQ0735184.0.RSSI_PEER":{"type":"state","common":{"def":0,"type":"number","read":true,"write":false,"min":-2147483648,"max":2147483647,"role":"value.rssi","name":"RolloWohnzOst1:0.RSSI_PEER"},"native":{"DEFAULT":0,"FLAGS":1,"ID":"RSSI_PEER","MAX":2147483647,"MIN":-2147483648,"OPERATIONS":5,"TAB_ORDER":5,"TYPE":"INTEGER","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.0.RSSI_PEER"},"hm-rpc.0.MEQ0735184.0.STICKY_UNREACH":{"type":"state","common":{"def":false,"type":"boolean","read":true,"write":true,"role":"indicator.unreach","name":"RolloWohnzOst1:0.STICKY_UNREACH"},"native":{"DEFAULT":false,"FLAGS":25,"ID":"STICKY_UNREACH","MAX":true,"MIN":false,"OPERATIONS":7,"TAB_ORDER":1,"TYPE":"BOOL","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.0.STICKY_UNREACH"},"hm-rpc.0.MEQ0735184.0.UNREACH":{"type":"state","common":{"def":false,"type":"boolean","read":true,"write":false,"role":"indicator.unreach","name":"RolloWohnzOst1:0.UNREACH"},"native":{"DEFAULT":false,"FLAGS":9,"ID":"UNREACH","MAX":true,"MIN":false,"OPERATIONS":5,"TAB_ORDER":0,"TYPE":"BOOL","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.0.UNREACH"},"hm-rpc.0.MEQ0735184.0.UPDATE_PENDING":{"type":"state","common":{"def":false,"type":"boolean","read":true,"write":false,"name":"RolloWohnzOst1:0.UPDATE_PENDING"},"native":{"DEFAULT":false,"FLAGS":9,"ID":"UPDATE_PENDING","MAX":true,"MIN":false,"OPERATIONS":5,"TAB_ORDER":7,"TYPE":"BOOL","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.0.UPDATE_PENDING"},"hm-rpc.0.MEQ0735184.1.DIRECTION":{"type":"state","common":{"def":0,"type":"number","read":true,"write":false,"min":0,"max":3,"states":{"0":"NONE","1":"UP","2":"DOWN","3":"UNDEFINED"},"role":"indicator.direction","name":"HM-LC-Bl1PBU-FMMEQ0735184:1.DIRECTION"},"native":{"DEFAULT":0,"FLAGS":3,"ID":"DIRECTION","MAX":3,"MIN":0,"OPERATIONS":5,"TAB_ORDER":3,"TYPE":"ENUM","UNIT":"","VALUE_LIST":["NONE","UP","DOWN","UNDEFINED"]},"_id":"hm-rpc.0.MEQ0735184.1.DIRECTION"},"hm-rpc.0.MEQ0735184.1.INHIBIT":{"type":"state","common":{"def":false,"type":"boolean","read":true,"write":true,"role":"state.inhibit","name":"HM-LC-Bl1PBU-FMMEQ0735184:1.INHIBIT"},"native":{"CONTROL":"NONE","DEFAULT":false,"FLAGS":1,"ID":"INHIBIT","MAX":true,"MIN":false,"OPERATIONS":7,"TAB_ORDER":2,"TYPE":"BOOL","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.1.INHIBIT"},"hm-rpc.0.MEQ0735184.1.INSTALL_TEST":{"type":"state","common":{"def":false,"type":"boolean","read":false,"write":true,"role":"indicator","name":"HM-LC-Bl1PBU-FMMEQ0735184:1.INSTALL_TEST"},"native":{"DEFAULT":false,"FLAGS":3,"ID":"INSTALL_TEST","MAX":true,"MIN":false,"OPERATIONS":2,"TAB_ORDER":4,"TYPE":"ACTION","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.1.INSTALL_TEST"},"hm-rpc.0.MEQ0735184.1.LEVEL":{"type":"state","common":{"def":0,"type":"number","read":true,"write":true,"min":0,"max":100,"unit":"%","role":"level.blind","workingID":"WORKING","name":"HM-LC-Bl1PBU-FMMEQ0735184:1.LEVEL"},"native":{"CONTROL":"BLIND.LEVEL","DEFAULT":0,"FLAGS":1,"ID":"LEVEL","MAX":1,"MIN":0,"OPERATIONS":7,"TAB_ORDER":0,"TYPE":"FLOAT","UNIT":"100%"},"_id":"hm-rpc.0.MEQ0735184.1.LEVEL"},"hm-rpc.0.MEQ0735184.1.STOP":{"type":"state","common":{"def":false,"type":"boolean","read":false,"write":true,"role":"action.stop","name":"HM-LC-Bl1PBU-FMMEQ0735184:1.STOP"},"native":{"CONTROL":"BLIND.STOP","DEFAULT":false,"FLAGS":1,"ID":"STOP","MAX":true,"MIN":false,"OPERATIONS":2,"TAB_ORDER":1,"TYPE":"ACTION","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.1.STOP"},"hm-rpc.0.MEQ0735184.1.WORKING":{"type":"state","common":{"def":false,"type":"boolean","read":true,"write":false,"role":"indicator.working","name":"HM-LC-Bl1PBU-FMMEQ0735184:1.WORKING"},"native":{"DEFAULT":false,"FLAGS":3,"ID":"WORKING","MAX":true,"MIN":false,"OPERATIONS":5,"TAB_ORDER":5,"TYPE":"BOOL","UNIT":""},"_id":"hm-rpc.0.MEQ0735184.1.WORKING"},"hm-rpc.0.MEQ0735184.0.CONFIG_PENDING_ALARM":{"type":"state","common":{"name":"AL-MEQ0735184:0.CONFIG_PENDING","type":"boolean","role":"indicator.alarm","read":true,"write":true,"def":false},"native":{"Name":"AL-MEQ0735184:0.CONFIG_PENDING","TypeName":"ALARM","DP":"12759"},"_id":"hm-rpc.0.MEQ0735184.0.CONFIG_PENDING_ALARM"},"hm-rpc.0.MEQ0735184.0.DEVICE_IN_BOOTLOADER_ALARM":{"type":"state","common":{"name":"AL-MEQ0735184:0.DEVICE_IN_BOOTLOADER","type":"boolean","role":"indicator.alarm","read":true,"write":true,"def":false},"native":{"Name":"AL-MEQ0735184:0.DEVICE_IN_BOOTLOADER","TypeName":"ALARM","DP":"12763"},"_id":"hm-rpc.0.MEQ0735184.0.DEVICE_IN_BOOTLOADER_ALARM"},"hm-rpc.0.MEQ0735184.0.DUTYCYCLE_ALARM":{"type":"state","common":{"name":"AL-MEQ0735184:0.DUTYCYCLE","type":"boolean","role":"indicator.alarm","read":true,"write":true,"def":false},"native":{"Name":"AL-MEQ0735184:0.DUTYCYCLE","TypeName":"ALARM","DP":"12767"},"_id":"hm-rpc.0.MEQ0735184.0.DUTYCYCLE_ALARM"},"hm-rpc.0.MEQ0735184.0.STICKY_UNREACH_ALARM":{"type":"state","common":{"name":"AL-MEQ0735184:0.STICKY_UNREACH","type":"boolean","role":"indicator.alarm","read":true,"write":true,"def":false},"native":{"Name":"AL-MEQ0735184:0.STICKY_UNREACH","TypeName":"ALARM","DP":"12773"},"_id":"hm-rpc.0.MEQ0735184.0.STICKY_UNREACH_ALARM"},"hm-rpc.0.MEQ0735184.0.UNREACH_ALARM":{"type":"state","common":{"name":"AL-MEQ0735184:0.UNREACH","type":"boolean","role":"indicator.alarm","read":true,"write":true,"def":false},"native":{"Name":"AL-MEQ0735184:0.UNREACH","TypeName":"ALARM","DP":"12777"},"_id":"hm-rpc.0.MEQ0735184.0.UNREACH_ALARM"},"hm-rpc.0.MEQ0735184.0.UPDATE_PENDING_ALARM":{"type":"state","common":{"name":"AL-MEQ0735184:0.UPDATE_PENDING","type":"boolean","role":"indicator.alarm","read":true,"write":true,"def":false},"native":{"Name":"AL-MEQ0735184:0.UPDATE_PENDING","TypeName":"ALARM","DP":"12781"},"_id":"hm-rpc.0.MEQ0735184.0.UPDATE_PENDING_ALARM"}}
-
Ich hab mal noch ein wenig nachgeforscht. Das Problem ist der folgende Code-Abschnitt:
event: function (err, params) { adapter.log.debug(adapter.config.type + 'rpc <- event ' + JSON.stringify(params)); var val; var channel = params[1].replace(':', '.'); var name = params[0] + '.' + channel + '.' + params[2]; if (dpTypes[name] && dpTypes[name].UNIT === '100%') { val = (params[3] * 100); } else { val = params[3]; }
Es wird versucht, mit dem Namen in dpTypes den Eintrag zu finden. Problem ist nur, dass kein Eintrag gefunden wird.
Hier der relevante Ausschnitt für einen der Aktoren:
! name: raspberrypi.hm-rpc.0.LEQ1438264.1.LEVEL New value:1
! dpTypes: {"hm-rpc.0.LEQ1438264.0.AES_KEY":{"UNIT":"","TYPE":"INTEGER"},"hm-rpc.0.LEQ1438264.0.CONFIG_PENDING":{"UNIT":"","TYPE":"BOOL"},"hm-rpc.0.LEQ1438264.0.DEVICE_IN_BOOTLOADER":{"UNIT":"","TYPE":"BOOL"},"hm-rpc.0.LEQ1438264.0.DUTYCYCLE":{"UNIT":"","TYPE":"BOOL"},"hm-rpc.0.LEQ1438264.0.RSSI_DEVICE":{"UNIT":"","TYPE":"INTEGER"},"hm-rpc.0.LEQ1438264.0.RSSI_PEER":{"UNIT":"","TYPE":"INTEGER"},"hm-rpc.0.LEQ1438264.0.STICKY_UNREACH":{"UNIT":"","TYPE":"BOOL"},"hm-rpc.0.LEQ1438264.0.UNREACH":{"UNIT":"","TYPE":"BOOL"},"hm-rpc.0.LEQ1438264.0.UPDATE_PENDING":{"UNIT":"","TYPE":"BOOL"},"hm-rpc.0.LEQ1438264.1.DIRECTION":{"UNIT":"","TYPE":"ENUM"},"hm-rpc.0.LEQ1438264.1.INHIBIT":{"UNIT":"","TYPE":"BOOL"},"hm-rpc.0.LEQ1438264.1.INSTALL_TEST":{"UNIT":"","TYPE":"ACTION"},"hm-rpc.0.LEQ1438264.1.LEVEL":{"UNIT":"100%","TYPE":"FLOAT"},"hm-rpc.0.LEQ1438264.1.STOP":{"UNIT":"","TYPE":"ACTION"},"hm-rpc.0.LEQ1438264.1.WORKING":{"UNIT":"","TYPE":"BOOL"}}Update:
Der Name, mit dem gesucht wird, enthält den Host-Namen der Instanz raspberrypi.hm-rpc.0.LEQ1438264.1.LEVEL,
Im Array sind die Werte aber nur ohne Host-Namen drin: hm-rpc.0.LEQ1438264.1.LEVEL
mfg
Markus
-
Hallo bluefox,
ich hab jetzt die hm-rpc.js so abgeändert, dass in den Methoden für das Setzen und Übertagen der Werte beim Zugriff auf dpTypes der Hostname ergänzt wird. Jetzt funktioniert bei mir die Übertagung wieder in beide Richtungen.
Keine Ahnung, ob die Änderung so in deinem Interesse ist, aber vielleicht hilft die Datei ja bei der Fehlerbereinigung.
Markus
632_hm-rpc.js -
Ich habe da was geändert, was ich nicht ändern sollte. Jetzt gibt es neue Version.
-
Geht jetzt ?
-
Hallo bluefox,
Ja geht jetzt wieder.
Vielen Dank.
Gesendet von meinem GT-N8000 mit Tapatalk
-
Hmm, Update installiert und Reboot gemacht. Die Jalousien haben danach Level "null". Nach der ersten Betätigung egal ob Iobroker oder am Gerät stimmt es.
Grüße Brati
Gesendet via Tapatalk.
-
Ist so!
Dazu gibt's schon mehrere Postings.
Gruß
Rainer
-
Ok, kann ich mit leben.
Gesendet via Tapatalk.