NEWS
Hm-rpc 1.2.0
-
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 -
Ist so! :D
Dazu gibt's schon mehrere Postings.
Gruß
Rainer