NEWS
[Frage] Werte von Adapter, Dividiert durch 100
-
Guten Morgen,
ich hab mich jetzt mal ein wenig durch den Code der Adapter gewühlt.
Die Ursache liegt im hm-rega-Adapter. Die Funktion getDatapoints ruft beim Start auch die Werte der rpc-Adapter ab und setzt diese mit adapter.setForeignState. Während die set-Funktionen im hm-rpc-Adapter den Wert mal 100 nehmen, wenn UNIT == "100%", fehlt diese Korrektur in dieser Funktion.
Soweit ich gesehen habe ist das Holen der rpc-Datenpunkte etwas trickreich über ein Skript gelöst. Die Objekteigenschaften in ioBroker sind darin nicht enthalten. Die ioBroker-Objekteigenschaften müssten wohl jeweils einzeln ausgelesen werden, um diese Änderung einzubauen. Mir ist nicht klar, ob die Umrechnung von dezimal nach Prozent und umgekehrt nur für die hm-rpc gelten soll oder auch für die rega-Werte.
Möchtest du diese Änderungen lieber selber machen?
1407_bildschirmfoto_2019-02-04_um_22.14.09.png -
Sehr gute Arbeit - dann kann man sich darauf freuen, dass dieser Bug in nächster Zeit behoben werden kann. Endlich kann ich dann ioBroker produktiv einsetzen.
lg,
joho
-
Guten Morgen,
ich hab mich jetzt mal ein wenig durch den Code der Adapter gewühlt.
Die Ursache liegt im hm-rega-Adapter. Die Funktion getDatapoints ruft beim Start auch die Werte der rpc-Adapter ab und setzt diese mit adapter.setForeignState. Während die set-Funktionen im hm-rpc-Adapter den Wert mal 100 nehmen, wenn UNIT == "100%", fehlt diese Korrektur in dieser Funktion.
Soweit ich gesehen habe ist das Holen der rpc-Datenpunkte etwas trickreich über ein Skript gelöst. Die Objekteigenschaften in ioBroker sind darin nicht enthalten. Die ioBroker-Objekteigenschaften müssten wohl jeweils einzeln ausgelesen werden, um diese Änderung einzubauen. Mir ist nicht klar, ob die Umrechnung von dezimal nach Prozent und umgekehrt nur für die hm-rpc gelten soll oder auch für die rega-Werte.
Möchtest du diese Änderungen lieber selber machen? `
Super Untersuchung. Es wird ein bisschen dauern, bis ich zu dem Punkt komme, aber gerade vor 10 Minuten wollte ich um Hilfe per TeamViewer bitten um Fehler irgendwie zu finden. Und jetzt dein Post.!Ich fixe es asap.
-
Habe jetzt eine Lösung gefunden, aber ich habe keine Dimmers.
Kann jemand testen?
cd /opt/iobroker npm install https://github.com/ioBroker/ioBroker.hm-rega/tarball/master iobroker restart hm-rega
-
Hallo Bluefox,
ich hab es gerade eingespielt.
Leider wird bei meinen Rolladenaktoren immer noch 1 statt 100 gesetzt.
Ich habe mal eine zusätzliche Logeingabe eingebaut:
// convert dimmer and blinds adapter.log.info ('unit for id:' + id + ' = ' + units[id]); if (units[id] === '100%') data[dp] = parseFloat(data[dp]) * 100;
Danach wird units nicht richtig gesetzt:
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.1.LEVEL = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.UPDATE_PENDING = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.DEVICE_IN_BOOTLOADER = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.RSSI_PEER = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.RSSI_DEVICE = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.DUTYCYCLE = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.CONFIG_PENDING = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.STICKY_UNREACH = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.UNREACH = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735184.1.INHIBIT = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735184.1.STOP = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735184.1.LEVEL = undefined
-
Hallo Bluefox,
ich hab es gerade eingespielt.
Leider wird bei meinen Rolladenaktoren immer noch 1 statt 100 gesetzt.
Ich habe mal eine zusätzliche Logeingabe eingebaut:
// convert dimmer and blinds adapter.log.info ('unit for id:' + id + ' = ' + units[id]); if (units[id] === '100%') data[dp] = parseFloat(data[dp]) * 100;
Danach wird units nicht richtig gesetzt:
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.1.LEVEL = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.UPDATE_PENDING = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.DEVICE_IN_BOOTLOADER = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.RSSI_PEER = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.RSSI_DEVICE = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.DUTYCYCLE = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.CONFIG_PENDING = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.STICKY_UNREACH = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735669.0.UNREACH = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735184.1.INHIBIT = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735184.1.STOP = undefined
hm-rega.0 2016-02-29 18:57:37 info hm-rega.0 unit for id:hm-rpc.0.MEQ0735184.1.LEVEL = undefined `
Danke. Aber jetzt muss gehen -
Mein Held!
mit der letzten Version klappt es!! Zumindest bei mir mit meinen Rollos.
Super Arbeit, vielen Dank.
joho
-
Habe jetzt veröffentlicht. Kann jeder benutzen
-
Vielen Dank!
Gesendet von meinem GT-N8000 mit Tapatalk
-
Ich habe diesen Fehler leider immer noch und zwar in folgernder Konstellation:
Mein CUxD-Dimmer hat auf der CCU immer Werte zwischen 0-1. Sie werden zwar in der grafischen Oberfläche als 0-100 angezeigt, aber die CCU rechnet intern mit 0-1. Diese werden auch in iobroker so übernommen. Wenn ich diesen Wert über iobroker (z.B. über VIS) ändern möchte muss ich einen Wert zwischen 0-100 eingeben.
-
Ich habe diesen Fehler leider immer noch und zwar in folgernder Konstellation:
Mein CUxD-Dimmer hat auf der CCU immer Werte zwischen 0-1. Sie werden zwar in der grafischen Oberfläche als 0-100 angezeigt, aber die CCU rechnet intern mit 0-1. Diese werden auch in iobroker so übernommen. Wenn ich diesen Wert über iobroker (z.B. über VIS) ändern möchte muss ich einen Wert zwischen 0-100 eingeben. `
Was für ein UNIT hat dein Dimmer? -
Ich habe diesen Fehler leider immer noch und zwar in folgernder Konstellation:
Mein CUxD-Dimmer hat auf der CCU immer Werte zwischen 0-1. Sie werden zwar in der grafischen Oberfläche als 0-100 angezeigt, aber die CCU rechnet intern mit 0-1. Diese werden auch in iobroker so übernommen. Wenn ich diesen Wert über iobroker (z.B. über VIS) ändern möchte muss ich einen Wert zwischen 0-100 eingeben.
Was für ein UNIT hat dein Dimmer?
Oder gibt es da max min Werte? -
UNIT sagt mir leider in dem Zusammenhang nichts. Es handelt es um einen virtuellen CUxD-Dimmer. Min/Max-Werte kann man nirgends eingeben.
Sent from my iPhone using Tapatalk
-
UNIT sagt mir leider in dem Zusammenhang nichts. Es handelt es um einen virtuellen CUxD-Dimmer. Min/Max-Werte kann man nirgends eingeben.
Sent from my iPhone using Tapatalk `
Wie sieht das Objekt vom Dimmer State aus?iobroker get objekt hm-rpc.blabla
-
So sieht das Gerät in der CCU bzw. im HQ Web UI aus:
Und so im iobroker:
-
So sieht das Gerät in der CCU bzw. im HQ Web UI aus:
filename="CCU.JPG" index="1">~~Und so im iobroker:
filename="iobroker.JPG" index="0">~~ `
Die info kann ich aus Screenshot nicht rauslesen.Kannst das Kommando ausführen oder auf dem objekt doppelklicken und dann Screenshot machen?
-
Hier die Details zum LEVEL:
-
Hier die Details zum LEVEL:
filename="Details.JPG" index="0">~~ `
Und native? -
Sorry, hier die "native"-Werte:
-
Hier wird das Thema aktuell weiter behandelt: