Hyperion.NG, Amlogic improvements

Would you be so nice and would you test?

Proof:

Diff:
SIGUSR.diff (2.3 KB)

2 Likes

@Paulchen-Panther Da sieht man mal wieder, dass Du Dich besser im Code auskennst…

Ich hatte es erst mal versucht im main zu lösen, um zu schauen, ob es funktionert. Aber eine Instance Toggle-Methode ist natürlich cleverer.

ggf. magst Du ja was von dem Logging aus dem file übernehmen :slight_smile:
Auf jeden Fall habe ich mal wieder etwas gelernt.

Der Test war bei mir auch erfolgreich. Die Devices werden schön wieder re-opened. Hoffentlich auch das RS232…

1 Like

So easy? Looks nice! Will test as soon as possible! Thx!

1 Like

I tested now the patch and in general it’s working, LEDs getting switched off and are working after resume from suspend.

But now I see the issue what have been there already before this feature got deactivated in hyperion.ng: it work’s only every second supend/resume cycle or even only once!?

I just tried it and the signal get sent every time by this script:

#!/bin/sh
case "$1" in
pre)
# <do something on suspend>
pid=$(pgrep hyperiond)
echo "+++++++++++++ pre pid: $pid" >> /storage/.kodi/temp/hyperion.power
if [ -n "$pid" ]; then
	kill -SIGUSR1 $pid
fi
;;
post)
# <do something on resume>
pid=$(pgrep hyperiond)
echo "+++++++++++++ post pid: $pid" >> /storage/.kodi/temp/hyperion.power
if [ -n "$pid" ]; then
	kill -SIGUSR2 $pid
fi
;;
esac

Result (I did 3 times suspend & resume):

+++++++++++++ pre pid: 4603
+++++++++++++ post pid: 4603
+++++++++++++ pre pid: 4603
+++++++++++++ post pid: 4603
+++++++++++++ pre pid: 4603
+++++++++++++ post pid: 4603
CoreELEC:~ # ps | grep hyperiond
 4603 root      1:02 hyperiond --userdata /storage/.kodi/userdata/addon_data/service.hyperion.ng

So Kodi & kernel send the signal to the hyperiond pid.

This is the hyperion log (I added a debug print at the signal handler in main.cpp):

[hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:238:setInputImage()) Priority 250 is now inactive
 [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 254
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
 [hyperiond MAIN] (INFO) +++++++++++++ enter signum: 12
 [hyperiond MAIN] (INFO) +++++++++++++ signum == SIGUSR2
 [hyperiond MAIN] (INFO) +++++++++++++ _hyperion != nullptr
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:64:handleCompStateChangeRequest()) Enable Hyperion, recover previous component states
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Hyperion: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Blackborder detector: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Framegrabber: enabled
 [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:238:setInputImage()) Priority 250 is now active
 [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 250
 [hyperiond LEDDEVICE] (ERROR) Device disabled, device 'adalight' signals error: 'Timeout on write data to /dev/ttyACM0'
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
 [hyperiond LEDDEVICE] (DEBUG) (ProviderRs232.cpp:152:closeDevice()) Close UART: /dev/ttyACM0
 [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:204:sendClose()) send close: 1000 
 [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:192.168.1.109
 [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:107:handleInstanceSwitch()) Client '::ffff:192.168.1.109' switch to Hyperion instance 0
 [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1119:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.1.109
 [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1128:handleLoggingCommand()) log streaming deactivated for client  ::ffff:192.168.1.109
 [hyperiond MAIN] (INFO) +++++++++++++ enter signum: 10
 [hyperiond MAIN] (INFO) +++++++++++++ signum == SIGUSR1
 [hyperiond MAIN] (INFO) +++++++++++++ _hyperion != nullptr
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:51:handleCompStateChangeRequest()) Disable Hyperion, store current component states
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Hyperion: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: disabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Blackborder detector: disabled
 [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:255:clearInput()) Removed source priority 250
 [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 254
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Framegrabber: disabled
 [hyperiond MAIN] (INFO) +++++++++++++ enter signum: 12
 [hyperiond MAIN] (INFO) +++++++++++++ signum == SIGUSR2
 [hyperiond MAIN] (INFO) +++++++++++++ _hyperion != nullptr
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:64:handleCompStateChangeRequest()) Enable Hyperion, recover previous component states
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Hyperion: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: enabled
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Blackborder detector: enabled
 [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:158:registerInput()) Register new input 'System/GRABBER' with priority 250 as inactive
 [hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Framegrabber: enabled
 [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:238:setInputImage()) Priority 250 is now active
 [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 250
 [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:204:sendClose()) send close: 1000 
 [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:192.168.1.109
 [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:107:handleInstanceSwitch()) Client '::ffff:192.168.1.109' switch to Hyperion instance 0
 [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1119:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.1.109
 [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1128:handleLoggingCommand()) log streaming deactivated for client  ::ffff:192.168.1.109
 [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:204:sendClose()) send close: 1000 
 [hyperiond AMLOGICGRABBER] (INFO) VPU mode
 [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:192.168.1.5
 [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:107:handleInstanceSwitch()) Client '::ffff:192.168.1.5' switch to Hyperion instance 0
 [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1119:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.1.5

It worked only once, after second suspend the LEDs remain off, even when the log says VPU mode on.
It is working if I try it only on a debug device with no Rs232 client connected. Then every time the signals are received.

@Portisch

Can I use your modified script or do you need to change anything else?

And can you build this dropdown to set the resolution of the external grabber?

So after latest update to Hyperion.NG v. 103 from CoreElec repo my Hyperion Control addon stopped working. I have updated the addon to the latest version 1.0.1 and disabled API Authentication in my Hyperion web interface.

Screenshot 2020-04-11 at 00.54.02

It doesn’t seem like it’s doing anything at all. I’m trying to disable Hyperion in Kodi menu. Besides that, everything is working fine. Logs also don’t show what could be wrong. Any help is appreciated.

You need to reinstall the Hyperion Controll or delete its Settings file.

I did that multiple times yesterday but nothing helps. I have also noticed that with Hyperion Control addon enabled the colors don’t change in the menu - some random leds are glowing with some random colors but they don’t move as you go through the menu. Without the Hyperion Control addon they behave properly when going through the menu and change accordingly.

EDIT: So it looks like Hyperion Control does something - when you stop the video - it sets some random colors to the LEDs but it doesn’t turn them off. They don’t change when you go through the menu, so platform capture is off, but the LEDs are still on?

Try to turn off all Effects in Hyperion web interface.

@Feromon THANK YOU SO MUCH! You were right! As it turns out the Hyperion Control was turning on “Warm mood blobs” when it wasn’t playing any video. Disabling General > Effects > Background Effect/Colour fixed the issue. One more time thank you!

Hi guys, have you any idea why when Hyperion.ng is on my all videos and IPTV run with SW decoding and loading cpus 100% and then shuttering and buffering. But when Hyperion.ng is off, box is using HW decoding and is workinf flawless? Tried 2 boxes with fresh stable CE, one is beelink gt king and another magicsee n5 plus s905x3 4GB.
Any advice please. :slight_smile:

Hyperion.ng on: http://prntscr.com/s0ixto
Hyperion.ng off: http://prntscr.com/s0iynd

Hi,

I also have Hyperion Control 1.0.1 to disable hyperion in kodi menu, but it does not work. the leds are still active (and changing according to the displayed menu).
My hyperion-ng is also latest version 9.2.103 and I disabled api auth.

Any idea what else can i check ?

Thanks

Read the posts above about disabling API access and disabling effects.

yes, already disabled API access and all effects, forgot to mention it.

Are you sure that both API authentications are off in Hyperion Config? Can you try deleting the Hyperion Control and installing it again? Try also restarting the whole box after installing Hyperion Control. You can also post screenshots of your Hyperion Control configuration.

Hyperion.NG 9.2.103 in CoreElec 9.2.2 Protocol Buffers Server does not work

New Version works fine with local grabbing.
But with Signal from Hyperion Android Grabber via Port 19445 there is no function anymore.

Had to go back to Hyperion.NG 9.2.101

posted an issue here
but it was closed today.

any hints to get that working again ?

Hi,

it now works :slight_smile:
I deleted both Hyperion Control and Hyperion-NG, reinstall and reconfigure (same as before).

Thanks

You need to be more detailed. I have no idea how to use this function. So describe your setup an how I can reproduce the issue please.

I will try to explain - but english is not my mother tongue…

Well I do own a Mecool M8Spro+ box with Coreelec 9.2.2 stable.
I have installed Hyperion.ng as an addon. It is working fine with my ambilight.
My Led stripe has its own microcontroller with WLED and gets its data via udpraw.
As already said : everything is running fine.

Hyperion.ng has as standard its protocol buffer Server on port 19445.

I use android devices with my TV, too. On android is an app called Hyperion Android Grabber

see:

This application will run a background service to capture the content of your screen and send it to a local instance of hyperion to control ambilight-like lights.

Coreelec changed the Version of hyperion.ng some days ago.
In the new Version the Protobuf Server on Port 19445 does does not work anymore.
Its working only locally with Version 9.2.103.

I went back to hyperion.ng 9.2.101 : working fine again with the android app.

The same Problem in the living room :
Hyperion.ng running on a Mecool KI pro
Hyperion Android grabber running on a Shield TV
Version 9.2.101 running fine
Version9.2.103 not working with data grabbed on the shield

I guess it’s the Android App:

[hyperiond PROTOSERVER] (ERROR) The priority 50 is not in the proto-connection range between 100 and 199.

But I have adjusted the priority to 150 in the Android app!?

edit:
It’s working! Adjust the priority between 100-199 and stop recording on the App. Start it again and it’s working.