thkl / homebridge-homematic

Homematic plugin for homebridge: https://github.com/nfarina/homebridge
180 stars 51 forks source link

Homebridge 1.3.0/HmIP-BROLL: plugin generated a warning from the characteristic #662

Open TiiFuchs opened 3 years ago

TiiFuchs commented 3 years ago

Related to #655

Ich habe Version 0.2.226 im Einsatz erhalte für die BROLL Geräte aber noch folgende Warnungen:

[2021-2-22 8:48:44] [homebridge-homematic] This plugin generated a warning from the characteristic 'Current Position': characteristic was supplied illegal value: number 10000 exceeded maximum of 100. See https://git.io/JtMGR for more info.
[2021-2-22 8:48:44] [homebridge-homematic] This plugin generated a warning from the characteristic 'Target Position': characteristic was supplied illegal value: number 10000 exceeded maximum of 100. See https://git.io/JtMGR for more info.
thkl commented 3 years ago

Das ist das hmip Gerät mit oder ohne Lamellenverstellung ?

TiiFuchs commented 3 years ago

Ja HmIP! Ich weiß nicht was eine Lamellenverstellung ist, also vermutlich nicht. Ich hab lediglich die Fahrzeiten kalibriert.

thkl commented 3 years ago

Ah ok na ich schau mal da rein. Hab zwar keine BROLL zum testen aber das sollte ja offensichtlich sein.

TiiFuchs commented 3 years ago

Ich kann das testen dann gerne übernehmen! :)

dinneatgithub commented 3 years ago

Das hab ich auch mit dem BROLL. BROLL ist ohne Lamellen, FROLL ist mit Lamellen.

sebbegg commented 3 years ago

Hier auch...

Ich habe mal etwas reingeschaut, ich vermute das Problem liegt im Zusammenspiel von remoteGetValue und dem cache: https://github.com/thkl/homebridge-homematic/blob/9f3ab75a366c8a79f7add5eca18dc3d59b4679bd/ChannelServices/HomeKitGenericService.js#L568-L588

Bei einem Cache-Hit liefert der Cache einen Level von z.B. 100 - also 100%. Der restliche Code geht aber davon aus, dass das ein HmIP Rohwert ist und multipliziert nochmal mit 100. In den Cache sollte wohl eher der rohe Wert geschrieben werden - also vor der Prozent-Umrechnung. Für die COLOR und BRIGHTNESS Werte müsste demnach prinzipiell das gleiche Problem bestehen.

homebridge_1  | [4/11/2021, 5:52:06 PM] [HomeMatic CCU] [Generic] remoteGetValue Intf:HmIP-RF, Adre:HmIP-RF.00111BE9998A6F:4, Dp:LEVEL
homebridge_1  | [4/11/2021, 5:52:06 PM] [HomeMatic CCU] [Core] getValue (HmIP-RF) HmIP-RF.00111BE9998A6F:4.LEVEL
homebridge_1  | [4/11/2021, 5:52:06 PM] [HomeMatic CCU] [Core] check cache HmIP-RF.00111BE9998A6F:4.LEVEL
homebridge_1  | [4/11/2021, 5:52:06 PM] [HomeMatic CCU] [Cache] hit on HmIP-RF.00111BE9998A6F:4.LEVEL 100
homebridge_1  | [4/11/2021, 5:52:06 PM] [HomeMatic CCU] [Generic] got value for HmIP-RF.00111BE9998A6F:4.LEVEL (Value:100)
homebridge_1  | [4/11/2021, 5:52:06 PM] [HomeMatic CCU] [Generic] Convert 10000 for 4.LEVEL is 10000
homebrid
faraww commented 3 years ago

Lässt sich provisorisch für die IP-BROLL Aktoren korrigieren, indem ihr in ..

HomeMaticHomeKitBlindServiceIP.js

this.maxValueForOpen = this.getClazzConfigValue('maxValueForOpen', 100)

von 100 auf 10000 ändert. Es sind nicht alle Fehlermeldungen weg, aber der Status in HomeKit ist wieder korrekt.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.