NEWS
Hm-rega Adapter
-
Hallo Bluefox,
leider scheint der Fix in der 0.3.7 eine Nebenwirkung zu haben:
Seitdem klappt das Auslesen der hm-rpc-Werte beim Start des Adapters nicht mehr.
Ich habe mal in der Funktion getDatapoints(callback) entsprechende Logausgaben eingebaut. Hier die Ausgaben:
! 2016-04-22 20:04:53.094 - info: hm-rega.0 data {"CUxD.CUX2803001%3A1.INFO":"192.168.1.4","CUxD.CUX2803001%3A1.IP":"192.168.1.4","CUxD.CUX2803001%3A1.UNREACH_CTR":0,"CUxD.CUX2803001%$
! 2016-04-22 20:04:53.098 - info: hm-rega.0 set state hm-rpc.1.CUX2803001.1.INFO dp CUxD.CUX2803001:1.INFO value undefined
! 2016-04-22 20:04:53.112 - info: hm-rega.0 set state hm-rpc.1.CUX2803001.1.IP dp CUxD.CUX2803001:1.IP value undefined
! 2016-04-22 20:04:53.115 - info: hm-rega.0 set state hm-rpc.1.CUX2803001.1.UNREACH_CTR dp CUxD.CUX2803001:1.UNREACH_CTR value undefined
! 2016-04-22 20:04:53.116 - info: hm-rega.0 set state hm-rpc.1.CUX2803001.1.STATE dp CUxD.CUX2803001:1.STATE value undefined
! 2016-04-22 20:04:53.117 - info: hm-rega.0 set state hm-rpc.1.CUX2803001.2.INFO dp CUxD.CUX2803001:2.INFO value undefined
! 2016-04-22 20:04:53.120 - info: hm-rega.0 set state hm-rpc.1.CUX2803001.2.IP dp CUxD.CUX2803001:2.IP value undefined
! 2016-04-22 20:04:53.121 - info: hm-rega.0 set state hm-rpc.1.CUX2803001.2.UNREACH_CTR dp CUxD.CUX2803001:2.UNREACH_CTR value undefined
! 2016-04-22 20:04:53.123 - info: hm-rega.0 set state hm-rpc.1.CUX2803001.2.STATE dp CUxD.CUX2803001:2.STATE value undefined
! 2016-04-22 20:04:53.124 - info: hm-rega.0 set state hm-rpc.1.CUX2803001.3.INFO dp CUxD.CUX2803001:3.INFO value undefined
! 2016-04-22 20:04:53.125 - info: hm-rega.0 set state hm-rpc.1.CUX2803001.3.IP dp CUxD.CUX2803001:3.IP value undefinedDa die Werte mit data[dp] ausgelesen werden und im Array data der entsprechende Schlüssel aus dp nicht existiert, wird kein Wert gefunden. Somit werden alle Geräte-Parameter nun auf den Wert null bzw. undefined gesetzt.
Dies ist auch noch in der Version 1.0.0 so.
mfg
Markus
Update:
Ich hab jetzt in der Funktion folgende Zeilen geändert und somit die _unescape Funktion nur auf die id beschränkt:
// dp = _unescape(dp); var tmp = (_unescape(dp)).split('.');Zumindest das Einlesen geht jetzt wieder. Ob andere Funktionen jetzt nicht mehr klappen, kann ich nicht erkennen.
-
Vielleicht muss man dieses Teil ändern auf:
function pollVariables() { rega.runScriptFile('polling', function (data) { if (!data) return; try { data = JSON.parse(data.replace(/\n/gm, '')); } catch (e) { adapter.log.error('Cannot parse answer for polling: ' + data); return; } for (var id in data) { var val = data[id][0]; id = _unescape(id); if (typeof val === 'string') val = _unescape(val); if (id == 40) { id = 'alarms'; } else if (id == 41) { // If number of alarms changed if (regaStates[id] !== val) setTimeout(pollServiceMsgs, 1000); id = 'maintenance'; } regaStates[id] = val; adapter.setState(adapter.namespace + '.' + id, val, true); } }); }Ich habe id = _unescape(id); hinzugefügt.
-
Hallo bluefox,
inzwischen liest der hm-rega auch die Einheiten bei den Systemvariablen aus.
Leider aber in unkonvertiertem UTF-8:

Gruß
Rainer
-
Sag mal wann schläfst du eigentlich?

läuft natürlich! :mrgreen:DANKE!!
Rainer
<size size="85">nur die Widgets musste ich im Editor alle öffnen, damit sich die anzeige änderte</size>
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden