Hallo,
ich probiere jetzt schon einige Tage rum und finde keine Lösung. Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht.
Zusammengefasst: Ich habe einen Dummy, der Dimmen unterstützt. Das funktioniert mit der WebUI und mit Alexa. Eigentlich auch mit Homekit (man kann ihn dimmen und schalten). Aber die Home App zeigt immer für dieses Device "Keine Antwort an" und es stimmt bisweilen ist der Status falsch.
Hier ein Listing von meinem Device:
Internals:
.eventMapCmd
CFGFN /opt/fhem/Kinderzimmer.cfg
FUUID 5c7b3560-f33f-d82b-8444-8384ddc8997515a0
NAME KIJ.Standardbeleuchtung
NR 883
STATE pct 0
TYPE dummy
.attraggr:
.attrminint:
OLDREADINGS:
READINGS:
2020-12-21 20:07:22 .donotswitch 0
2021-01-10 17:52:57 state off
Attributes:
alias Standard Beleuchtung im Kinderzimmer Jule
devStateIcon off|pct.0:FS20.off on|pct.100:FS20.on pct.*:dim50%
eventMap /on:pct 100/off:pct 0/
genericDeviceType light
group Lampen
homebridgeMapping Brightness=pct,minValue=1,maxValue=100,minStep=1,cmd=pct
icon it_net
room Homekit,Kinderzimmer,alexa
setList pct:slider,0,1,100
webCmd pct:on:off
Installierte Hombridge version ist homebridge@1.1.7
Hat jemand eine Idee?
Viele Grüße
Andreas
Halllo,
kanns nicht ausprobieren da aktuell kein homebridge installiert, vermute du brauchst auch noch ein Reading pct.
Versuchs mal mit:
attr KIJ.Standardbeleuchtung readingList pct
Gruß
Thomas
Hi,
super danke, dass hat in der Tat die Fehlermeldung beseitig!
Internals:
.eventMapCmd on:noArg off:noArg
CFGFN /opt/fhem/Kinderzimmer.cfg
FUUID 5c7b3560-f33f-d82b-8444-8384ddc8997515a0
NAME KIJ.Standardbeleuchtung
NR 883
STATE off
TYPE dummy
.attraggr:
.attrminint:
OLDREADINGS:
READINGS:
2020-12-21 20:07:22 .donotswitch 0
2021-01-11 20:45:15 HomekitState On
2021-01-11 20:45:15 pct 100
2021-01-11 20:41:39 state off
Attributes:
alias Standard Beleuchtung im Kinderzimmer Jule
devStateIcon off|pct.0:FS20.off on|pct.100:FS20.on pct.*:dim50%
eventMap /pct 100:on/pct 0:off/
genericDeviceType light
group Lampen
homebridgeMapping Brightness=pct,minValue=1,maxValue=100,minStep=1,cmd=pct,nocache
icon it_net
readingList pct
room Homekit,Kinderzimmer Jule,alexa
setList pct:slider,0,1,100
webCmd pct:on:off
Der Status hängt allerdings immer noch. In dem obigen Beispiel wird der Dummy im Homekit mit Dim XX% (zb 02%) angezeigt.
Wo er die Werte hernimmt ist mir schleierhaft.
k.A. . und wenn du das homebridgeMapping einfach weglässt ?
Mit dem jetzt vorhandenen Reading (pct) mein ich sollte es auch ohne klappen, sicher bin ich mir aber nicht.
Danke für deine Hilfe, in der Tat wieder ein Fortschritt!
Ohne Homebridge Mapping wird der Ein/Aus Status korrekt angezeigt (schonmal ein Fortschritt ) allerdings ist der PCT Wert immer noch falsch.
Für weiter Ideen wäre ich sehr dankbar.
ist der pct-Wert nur falsch beim Status EIN/AUS und die Zwischenschritte korrekt?
Wir haben mit einem setter und Reading pct, wie ich es bis jetzt verstanden habe, praktisch einen HM dimmer nachgebildet :
Zitatelse if( match = s.PossibleSets.match(/(^| )pct\b/) ) {
// HM dimmer
if( !this.service_name ) this.service_name = 'light';
this.mappings.On = { reading: 'pct', valueOff: '0', cmdOn: 'on', cmdOff: 'off' };
this.mappings.Brightness = { reading: 'pct', cmd: 'pct', delay: true };
Wenn die Zwischenschritte korrekt angezeigt werden dann versteh ich es bis jetzt so das du dein eventMap anpassen musst.Das aber das erste mal das ich in den Code schaue, kann mich auch irren, weil verstehen tu ich ihn nur Ansatzweise.
Nein im Moment ist der Wert in der Home App generell falsch.
Internals:
.eventMapCmd on:noArg off:noArg
CFGFN /opt/fhem/Kinderzimmer.cfg
FUUID 5c7b3560-f33f-d82b-8444-8384ddc8997515a0
NAME KIJ.Standardbeleuchtung
NR 875
STATE pct 54
TYPE dummy
.attraggr:
.attrminint:
READINGS:
2020-12-21 20:07:22 .donotswitch 0
2021-01-16 10:58:55 HomekitState On
2021-01-16 10:58:55 pct 54
2021-01-13 10:56:59 state on
Attributes:
alias Standard Beleuchtung im Kinderzimmer Jule
devStateIcon off:FS20.off on:FS20.on pct.*:dim50%
eventMap /pct 100:on/pct 0:off/
genericDeviceType light
group Lampen
icon it_net
readingList pct
room Homekit,Kinderzimmer Jule,alexa
setList pct:slider,0,1,100
stateFormat {
my $pct = ReadingsVal("KIJ.Standardbeleuchtung", "pct", "");
if($pct eq "0")
{
return "off";
}
elsif ($pct eq "100")
{
return "on";
}
else
{
return "pct ".$pct;
}
}
webCmd pct:on:off
Woher holt sich die Hombridge ihre Werte von state, Pct oder STATE?
Wie kann ich das Problem debuggen, wie mir ausfällt zeigt auch mein Echo Show falsche Prozentwerte an , mag allerdings nich das gleiche Problem sein.
Gerade mal versucht Testweise STATE so zu verbiegen das es es off/on oder pct xx anzeigt , bringt allerdings nicht viel.
Wo stammt dein Code Segment her ? vielleicht kann ich Testweise mal ein paar Logs reinsetzen
Hab das eben mal ausprobiert und die Vermutung das du nach deinen Änderungen an den Attributen Hombridge nicht neu gestartet hast.
Ein/Aus und auf Prozentwerte stellen klappt bei mir einwandfrei, der Prozentwert wird korrekt angezeigt:
defmod du_testx dummy
attr du_testx alexaName honig
attr du_testx genericDeviceType light
attr du_testx readingList pct
attr du_testx room Homekit,Test
attr du_testx setList pct:slider,0,1,100
setstate du_testx on
setstate du_testx 2021-01-16 11:57:40 pct 28
setstate du_testx 2021-01-16 11:57:39 state on
edit:
auch in der Alexa-App werden die Prozentwerte korrekt angezeigt.
Zitat
Wie kann ich das Problem debuggen, ...
Wie ich es bisher verstanden habe:
Mit dem Init-Skript:
sudo service homebridge stopund dann manuell im .homebridge Ordner mit
homebridge --debug starten
Mit systemd:
sudo systemctl stop homebridgeund dann manuell im .homebridge Ordner mit
homebridge --debug starten
ZitatWo stammt dein Code Segment her ?
https://github.com/justme-1968/homebridge-fhem/blob/master/lib/fhem.js (https://github.com/justme-1968/homebridge-fhem/blob/master/lib/fhem.js)