Hallo @lirand,
hatte bis gerade das gleiche Problem. @anon21150642 hat gerade die Lösung erarbeitet, sodass die Statusabfrage jetzt funktioniert. Dazu gibt es 2 Varianten:
Variante 1 (mit checkInterval: 2000 (siehe oben)):
Wird z.B. der TV angeschaltet, geht zunächst der homee Button wieder AUS, bis im Hintergrund homeeup den tatsächlichen Status ermittelt hat (hier: AN). Das hängt mit der Verzögerung des Startvorgangs je nach Activity zusammen, der schon ein paar Sekunden dauern kann. Erst danach springt der Button auf AN. Die „statusCmd“ sieht dann wie folgt aus. Rest wie oben:
„statusCmd“: „curl -v --silent http://RASPBERRYIP:8282/hubs/harmony-hub-elite/status 2>&1 | grep ‚{"id":"12345678","slug":"fernseher","label":"Fernseher","isAVActivity":true}‘ > /dev/null; echo $?“,
Entsprechende Anpassung über die individuelle Status-Infos siehe http://RASPBERRYIP:8282
Variante 2 (mit checkInterval: 2000 plus Pause):
Damit der Button nicht wie in Variante 1 wieder zunächst auf AUS geht, bevor der eigentliche AN-Status festgestellt wird, hat @anon21150642 eine Pause des CheckIntervalls eingebaut. Diese kann nach belieben und auf die jeweilige Aktivität und die damit verbundene Verzögerung angepasst werden. Damit die Pause aber funktioniert, muss homeeup auf die neueste Verion upgedatet werden (mindestens v0.1.4)! Das Ganze sieht dann so aus:
{
"deviceName": "TVSwitch",
"type": "SimpleCMDPlugin",
"pluginParams": {
"onCmd": "curl -X POST -H ‘Content-Type: application/json’ -d ‘{“on”:true}’ http://RASPBERRYIP:8282/hubs/harmony-hub-elite/activities/fernseher",
"offCmd": "curl -X POST -H ‘Content-Type: application/json’ -d ‘{“on”:false}’ http://RASPBERRYIP:8282/hubs/harmony-hub-elite/activities/poweroff",
"statusCmd": "curl -v --silent http://RASPBERRYIP:8282/hubs/harmony-hub-elite/status 2>&1 | grep '{\"id\":\"12345678\",\"slug\":\"fernseher\",\"label\":\"Fernseher\",\"isAVActivity\":true}' > /dev/null; echo $?",
"checkInterval": 2000,
"pauseCheckIntervalAfterSwitch": 15000
}
}
Und bei beiden Varianten natürlich am Ende nicht vergessen:
sudo systemctl restart homeeup
Das Vorgehen kann natürlich auf alle anderen Activities übertragen und individuell angepasst werden.
Danke nochmals an @anon21150642 für die großartige Unterstützung!
VG
Sebastian