I am opening up a new topic as to discuss development and testing of my new custom Playstation 3 integration. Previous messages in regards to the development can be found here.
I will indeed be implementing the display of game covers/icons in the media player, currently doing some more research on that. The selection and launching of games will also be available soon!
It should be noted, that a PS3hen-enabled PlayStation 3 is sufficient. No need for a cfw PS3 since not all PS3 models do support cfw. But PS3hen can be done on any model wen using a hfw, ps3hen and webman-mod.
I am currently testing with this exact setup, super slim model, and it works well.
I am wondering whether it is a good idea to get a post started over at https://psx-place.com since this is my goto place and my recommendation for all ps3 cfw, hfw, ps3hen and webman-mod related questions.
Pretty good timing, Iām trying to automate as many of my consoles as possible, so itās good to see weāll have a solution for modded PS3 that doesnāt rely on PSN.
Now if only I could get modded PS4 connections working with third party software.
Also great to see all the extra functionality and reporting. When you start from nothing, even just having the ability to start up the console from HA is a HUGE win.
I have a fat and slim model to test with, both with CFW 4.91 from Evilnat and webmanMOD installed.
I have done some further development on the media player and I have committed the changes to the media_player branch of the repo. If you want to test it, clone the files from that branch. After testing thoroughly I will merge it into main!
The next step for me will be to make sure that the device registry and the entity registry are being handled correctly, so that Home Assistant recognizes the PS3 as a device. I will also put some effort in the feature that has been requested the most so far: an on/off switch .
However, it unfortunately comes with a major caveat. The implemented functionalities are made possible by the webman application which essentially acts as a webserver for the PS3. When the PS3 system is turned off, the server is inactive and no functionalities are exposed. This makes it very tricky to implement a āturn onā button.
Initially I experimented a bit with WoL (Wake-on-Lan) and remote play, but I could not get it to work. When you have PEX firmware on your PS3, apparently you can enable WoL, but since I have a CEX system, I was not able to test that. However, this issue can be circumvented.
I have been doing some research into HDMI-CEC, which is essentially a protocol that allows devices with HDMI connections to communicate over the HDMI cable. So for example, you could configure that when you turn on your TV and change it to the HDMI channel where the PS3 is connected, it will automatically turn on the PS3. Different manufacturers have different names for the setting on the TVās, but once you enable āControl for HDMIā on the PS3 and the specific setting on the TV, you should be able to turn on your PS3 system by changing to the relevant HDMI channel.
The idea now would be to allow the selection of a āturn onā Home Assistant script during initial configuration. All users would then be able to configure their custom startup sequence for the PS3. In my case the script would turn on the TV and change the channel to the relevant HDMI channel, which I think will be the most common case. However, for other people who do have a PEX system with WoL enabled, the script might send a WoL message to the internal IP address. By integrating this startup script in the integration, the experience should be seamless.
There even is a solution for the users who donāt have PEX firmware or whose PS3 system is not connected to a HDMI-CEC enabled monitor. The following guide described how you can build your own HDMI-CEC bridge in your cable with Tasmota and less than 10 euro of hardware!
Just signed up for psx-place! I would like to do a first release on HACS after fixing on/off functionality and the device registry. I think it would be good to wait for the release until posting at PSX
this are great news. Finally this discussion is gaining some momentum.
WakeOnLAN is working great. You need a Evilnat PEX Firmware installed as an update over Evilnat CEX. After that you ave to convert it to DEX vie the CFW menu options. The important bits are the debug otions. They offer WOL functionality which stays activated, even if you fully convert back to CEX by disabling it. https://www.reddit.com/r/ps3homebrew/comments/knr822/ps3_wake_on_lan/
Iāve added screenshots from of the settings menu of a converted pex console showing the wol functionality. As mentioned above it is still working even after switching back the console from dex to cex.
Regarding the media integration you have added good features - launching Games from homeassistant ist a breeze.
It is possible to use the DNS name under the console is reachable during setup. Thus said using any other language during setup other than English will result in entities which do not update or control status or device information.
I have heard of the WoL functionality on PEX! However, for people running HEN, people running CEX or people with Phat systems, WoL is unfortunately not available.
I do believe that with my proposed solution, I democratize the turn on functionality for everyone. People that have access to WoL can just define a script in the initial configuration that sends a WoL message to the ip address, therefore still being able to use that functionality to turn on their system. People without access to WoL will be able to configure the script that selects the right HDMI channel to turn on the PS3 system with HDMI CEC for example.The goal is that the user can select their specific Home Assistant script in a dropdown during setup.
For example, the image above shows the Home Assistant script that I use to turn on my computer with WoL. Scripts like this will be listed in the config flow so that the user can choose a script that contains this functionality.
Could you elaborate regarding the DNS issue? I will fix it asap but at the moment Iām not yet fully understanding the problem.
@SDR3078 I do not have a CEC capable HDMI setup in lack of propper hardware. Thus said I do get the idea you are proposing. Even the tasmota modification is a neat solution suitable for all kind of scenarios.
Do you think it would be feasible to select either an existing HA-script or even a existing HA-switch?
No DNS problem - I wasnāt aware that I could enter a DNS name in the input field since you are asking for an IP-address.
What is a problem though is the observed behavior. Entities arenāt reading and presenting live data if you use any other language than English on Webman mod. It looks like it sometimes works if set other fan modes on the climate entity (auto).
As i am typing my kids are playing a game and I am just no seeing a nice cover of the game being played. Nicely done.
This is exactly what I am developing right now . I am including a dropdown menu in the initial setup screen to select your relevant script. Since your system has WoL enabled, you could make a script that is comparable with what I posted above and select that script in the setup. When you would turn on the PS3 from Home Assistant with the Media Player power button, it would run that script and turn on the PS3 with WoL!
Regarding the language issue on webman, unfortunately it will not have an easy fix. The integration reads its values by extracting data from certain HTML tags in the webman frontend. If you change the language, these tags also change. The only solution would be to write custom logic for each language or to get in touch with aldostools and convince him to expand webman so the values can be read by custom API get methods. I will put this issue on the roadmap, but for now I would advise to keep webman in English.
Happy to hear that testing is going well and that you are enjoying the integration !
Just in case: CEC is only supported on Slim and Super-Slim systems.
WoL does require the PEX firmware, but you donāt have to change to DEX to enable it. You can enable the DEX Debug settings without changing types and the WoL option will appear in the Systemās Settings menuās Debug options and can be turned on.
Iāll try to hook my system up tomorrow and get a step-by-step to turn it on (menu by menu)
I wanted to give a short update. This weekend, Iāve been able to implement the turn on/off functionality based on the above scripting method. The integration now requests a list of your existing Home Assistant scripts and allows you to select one for starting up the system.
Furthermore, the integration will also monitor when the XMB from the PlayStation is loaded to ensure that the startup sequence has been carried out successfully. In the meantime, it will not allow you to launch the script a second time for a certain timeout period.
I have implemented this because of the multiple methods of turning on the system: launching a second WoL message and a second Bluetooth wake message does not matter, but systems relying on HDMI-CEC with a sequence relying on other devices might benefit from this.
Letās say I want to turn on my system by turning on my TV, pushing the HDMI source button twice for HDMI-CEC to turn on my PS3 on the right HDMI channel. If I would push the button twice within Home Assistant, the script would run twice, therefore not turning on the PS3 and going to a completely wrong HDMI channel on my TV. This failsafe should make you wait until the XMB is loaded to run the startup script again (or until a Timeout is reached).
I havenāt put the code online yet because Iām still testing some stuff, let me know what you think!
In case you hadnāt seen it, you can also send commands to WebManMod running on the PS3 to do all kinds of things: shut down the PS3, search for games, list games in a grid, start specific games, etc.
Hi @HVR88 , sorry for the late reply, had other obligations the past week. If you change the GitHub branch to media_player you can already browse games, change the game and launch/stop them! Just download the files from there to your custom components folder.
I am currently done with turning on/off functionality and a request blocking system to not overload the ps3, but I did not upload it yet, will do so soon! Then itās just a matter of getting the device/entity registry working and then itās time for a first release on HACS