Category: Tips

  • Setting distinct email user account and email address in Outlook

    Initially, with Outlook 2021, I couldn’t set my email account to use an email address “From” as I used to do it. All emails were sent from “MyUser@MyDomain on behalf of MyAddress@MyDomain”. To sent the mail from “MyAddress@MyDomain”, I had to configure my account via the email “Manage Profile” menu.

    Click to Read More

    I want to send my emails with “MyAddess@MyDomain” as a From, without specifying explicitly this address as “Reply To” (Because I want the recipients to see “MyAddress@MyDomain” as origin of my emails).

    But the account to login into my mailbox, at my domain provider, is “MyUser@MyDomain”.

    The reason is that I have configured “MyAddress@MyDomain” to be a forward to “MyUser@gmail.com”. And I have configured an autoforward of “MyUser@gmail.com” to “MyUser@MyDomain”. Doing so, I benefit of the gmail anti-spam and I have a copy in gmail of all my emails (just in case of DRP at my provider).

    So, a mail sent to me (MyAddress@MyDomain) is actually passed to Google (MyUser@gmail.com) before being forwarded into my mailbox (MyUser@MyDomain) as illustrated here under.

    The issue is that it’s not possible to configure Outlook 2021 to send email from “MyAddress” while connecting to the mailbox “MyUser” with its new configuration wizard.

    This new configuration wizard can be accessed via File > Account Settings > New :

    Even if you tick the option “Advanced options”, you will not be able to configure distinct “email address” and “email account”, as in previous versions of Outlook. You will be able to change a edit the “Account Name” and few other options, but the best that you can do is sent an email from  your “email account” on behalf of your “email address”  (I.e.: from MyUser@MyDomain on behalf of MyAddress@MyDomain)

     

    The solution is to use instead : File > Manage Profiles > Email Accounts > New

    And then, configure your account as you used to do it in the past, with distinct “email address” and “user name” :

    Et voilà

  • Play Meta/Oculus VR Games with a HTC Vive VR headset

    My daughter wanted to play “Vader Immortal” which is only available on Meta Quest for Oculus, while I have a HTC Vive Pro 2.

    Installing “Revive” and starting the game from “VivePort” did the trick.

    Click to Read More

    If you have an HTC Vive, you should have “VivePort” and “SteamVR” installed already. The issue is that VR Games for Oculus (Rift) are compatible with SteamVR, but not available in Steam for Vive. But as explained on the web, there are tricks…

     

    Download and install the “Oculus Rift Software” (using your old Oculus account, a Meta account or your Facebook account), but SKIP the hardware setup part !

     

    Next, download and install the latest stable release of “Revive“. Once installed, close its Dashboard.

     

    Then, open “Oculus” to install a free Game, for testing purpose.

    Go to Settings > Library Locations > Edit, to pick the folder where you want to store your games:

    Reminder: Just in case you want to use the same location as your games for Steam, this one can be found via Steam’s menu View > Settings > Downloads > Steam Library Folders

     

    Go next into the Oculus Store > Top Free, and pick, for example, “Répulbique VR” to install it.

     

    Once installed, you will obviously not be able to run it from the Oculus Dashboard, as you don’t have any compatible hardware. Instead, run “Steam VR”:

    And keeping both “SteamVR” and “Oculus” opened,  rerun “Revive”

    In the Dashboard of “Revive”, you should see your Oculus games.

    Click once onto one to run it. If it starts but closes suddenly soon after (wait a minute to be sure that it’s definitively closed, as most games  “popup” again later) , run also “VivePort”:

    Just as a summary, you should now have SteamVR, Oculus, Revive and VivePort opened : 

     

    In VivePort, you should see your new Oculus Games

    If you do not see them, close SteamVR, Oculus, Revive and VivePort (via the SysTray menu !!) and restart them: SteamVR, Oculus, Revive and VivePort. Also double check that your heaset and two remotes are turned on.

    Start the games from there. At least for me, they just runs fine. Only when run from Revive, they “auto-close” themselves without any notification.

    [PS: check the list of compatible games vader]

    Et voilà,

  • JBL Link 20 and 300 having crunchy, crackling, static pop noise

    Since I am using a mesh network (based on TP-Link Deco M9 plus) I started to have more and more crackling noise on both my JBL Link 20 and 300, even if located very close to the repeaters. The only solution is to reset the JBL.

    Click to Read More

    It’s a very common issue, due to the “Wifi stability”, not only experienced with the TP-Link Deco M9 Plus (quich are actually quite good for their purpose) and even not only with the JBL (Read these posts).

    I have read a lot of posts on this issue and none could help. it has been useless to update the firmware, to open the devices and apply the tricks and tips found on the web, …

    The only trick, which work immediatly, is to reset the JBL and reconfigure it in Google Home. Next, it works like a charm.. for quite some time (months in my case)… but at the end, the crackling noise come back and you have to reset again.

    To reset the JBL Link 300, hold both the “Bluetooth” and the “Volume up” buttons for up to 20 seconds (until you see the “Mute” button becoming orange) as ilustrated on the video here after. Next wait until you the JBL has rebooted and open Google Home to reconfigure it.

    To reset the JBL Link 20, hold the “Mute” button for up to 10 sec until the Wifi led switch off. Next hold both the “Mute” and “Power” buttons for about 20 seconds (until it restarts) as ilustrated on the video here after. Next wait until you the JBL has rebooted and open Google Home to reconfigure it.

  • How to change the color of a Fibaro Wall Plug using Z-Wave PC Controller

    I have been searching for an easy way to change the color of my Fibaro Wall Plugs without coding/scripting/configuring anything… The solution is to use the “Z-Wave PC Controller” from Sigma on a Windows PC!

    Click to Read More

    I have the Fibaro FGWPef-102, documented here. As per that documentation, to set the color of the plug when it’s ON or OFF, one has to send the color code to respectively the parameter 41 or 42 (a parameter of size 1 byte):

    Here is how to do it with Z-Wave PC Controller (version 5 here under). Run the application on your PC, once the controller is plugged into it (I am using a Sigma ACC-UZB3). Click on the gear icon to select the port of your controller and click “OK”.

    Now:

    1. Select a node representing one of your Fibaro Wall Plugs in the top left frame and press Enter (or click the “Node Info” button) to fetch the available commands
    2. Select the Command Class “CONFIGURATION” in the bottom left frame 
    3. Select the Command “CONFIGURATION_SET” to set a new value
    4. Set the Parameter Number to 41 or 42 as documented above. Set the Size to 1 and the Configuration Value to the desired color. Ex.: 08 for Cyan.
    5. Click on Send

    To be sure it works, look the color of your Wall Plugs 😀 

    Or, you can now

    1. Select the Command “CONFIGURATION_GET” to read the value
    2. Put 41 or 42 as Parameter Number
    3. Open the Log file to see the output which will be returned by the Command
    4. Click on Send. You should see in the log a Configuration report with the value set previously. Here “08” (Cyan)

     

    “Z-wave PC Controller” is available inside the free “Simplicity Studio” of SiLabs, as explained here. You only have to subscribe to get it ! (As an alternative, if you have already an SiLabs account, click here to download it directly). The user manual is available here.

    Et voilà.

  • How to identify the Philips Hue sensors in OpenHab ?

    When looking at the Things within OpenHab, each “Hue Motion Sensor” device appears as multiple things: the “Motion sensor xyz” itself but also a “Hue ambient light sensor i” and a “Hue temperature sensor i”. “Motion sensor xyz” is the name you gave to the device via the Philips Hue App and “i” is a sequential id which can’t be easily linked to the related “Motion sensor” device… The App Hue Essentials can help you !

    Click to Read More

    On the screenshot bellow, one can see that I have renamed the Motion Sensors into “Motion sensor Door” and “Motion sensors Entry”, within the Philips Hue App. NB.: Only the Motion sensors appears in the Philips Hue App. One doesn’t see the Temperature and Ambient Light sensors…

    In OpenHab, we see all the sensors, but the Ambient Light and Temperature sensors are not named accordingly to the related Motion sensors. Instead, the are named “Hue ambient light sensor i” and a “Hue temperature sensor i” and one has no idea which one is part of the “Motion sensor Door” or “Motion sensor Entry”:

     

    The App Hue Essentials is not free but is really great (opposite to Philips Hue, you can for example control devices from multiples Bridges without switching from one to the other all the time). It’s the first App I found, made for end users (and not for developers), which give access to the internal sensors of a selected device. I.e.: the other Apps list all the sensors but does not tell which sensors belongs to which device.

    One way to identify which sensor belongs to which device is to go to the Devices (1) within the App Hue Essentials, select the device (2).

    Next , select, the menu Details (1 then 2):

    In these details, you see the Identifier of the device. Here, the identifier is 13. 

    Back into OpenHab, you can now filter the list of Things on ‘:13’ and find the device. 

    That was quite useless as the name of the device is the same in OpenHab and Philips Hue… but you can see that, obviously, the “Unique ID” displayed in Hue Essentials (00:17:88:01:06:44:42:35) is not the full id displayed (0107:ecb5fa857069)..

    One can do the same to find the id of the other sensors of this device: instead of the menu “Details”, select now the menu “Temperature” or “Light Level”. One can see immediatly the name of the related sensor (Here under “Hue light sensor 1”). One can also take the menu “Detail” (1) to take note of the identifier (here under “14”) to filter for it in OpenHab’s Things list.

    The best is however to rename these sensors according to their device (The “Hue light sensor 1” could be renamed “Hue light sensor Door”), remove all of them (especially the “Motion Sensors” which were properly named otherwise,  the other sensors won’t be re-detected) and rescan for Hue’s Things in OpenHab.

    Et voilà.

  • Use Android Tablet as additionnel screen

    A Galaxy Tab S7 can be used out-of-the-box as second screen for a Windows 10 laptop or PC connected on the same Wifi. But what about using this tablet as additionnel screen for a PC connect via ethernet ? The solution is SuperDisplay. And it works for most Android Tablets…

    Click to Read More

    You won’t be able to connect your Galaxy Tablet S7 as second screen with your windows PC, as explained here, if this one is not connected via Wifi. 

    It’s a pitty as using a tablet with a pen to do photo editing for example is really great.

    The solution is simply to use an alternative “wireless display” solution such as “SuperDisplay”; install the App on your tablet and the related drivers on your PC, et voilà !

  • EdgeRouter X – Speed limited to 250Mbps instead of 1Gbps

    I have upgraded my Internet abonnement from 100Mbps to 1000Mbps but couldn’t get more than 250Mbps. The reason was not an issue with the fiber or the modem but a limitation on my EdgeRouter X.

    Click to Read More

    I bought this Ubiquiti router to have the capability to view the bandwidth on each port as well as to fine-tune the configuration if required. Its OS “EdgeMAX” is indeed very flexible and powerful. Obviously, I did check that it was capable to deliver 1Gbps. 

    It was clear for me that it would be “1Gbps for all ports” (4 ports). But as the Router is connected on a Switch “1Gbps per port”, that was not an issue for my LAN (And it was much cheaper).

    Nevertheless, having max 250Mbps was disappointing.

     

    This throughput was reached with defaults settings, as I didn’t fine tune anything so far.

    The solution was to disable the “hardware offload” as well as the “flow-accounting (NetFlow)” (NB.: QoS may also not be used, but it was the case).

    To disable these features, click on ‘CLI’ in the upper-right corner to open a console and login with your administrator account. Then type:

    configure
    set system offload hwnat enable
    delete system flow-accounting
    commit
    save
    exit
    reboot

    Once the router as completed the reboot, you get the maximum bandwidth !

    Et voilà.

  • PC Windows 10 is very slow although CPU, RAM, GPU and Disk usage is low

    There are many many reasons why a PC can be lagging and very slow. But the worst was is when you look at the Task Manager and you see that both CPU and GPU are low, there are still plenty of free RAM and there is no high disk activity. In my case the problem was due to CPU Frequency being reduced.

    Click to Read More

    First thing to check, the CPU/GPU/Ram and Disk Usage. Press CTRL-SHIFT-ESC to open the Task Manager.

    You see that everything is low. So what ?

    Run now the Resource Monitor by pressing Windows-R and typing: resmon

    Very interesting. We see that the CPU runs at 19% of its maximum Frequency. So, something has reduced the CPU frequency. Indeed, with Intel speedstep, power saving and everything else disabled, this should always read 100%.

    So, the problem can be the “power plan” or some “failed” overclocking…

    You can test this by adding some load on the CPU with “CPU Grab” or “CPU Stres“. Here under, using CPU Grab to load the CPU at 100%, we can see that the CPU is still limited to ~20%:

    NB.: You can also give a try to Intel® Extreme Tuning Utility

    Regarding SpeedStep and Power Saving, you can edit your Power Plan Option. Press Windows-R and enter: powercfg.cpl, then click “Change plan settings” > “Change advanced power settings”. Set all limits to 100%.

    NB.: For laptop, there are distinct settings “On Battery” or “Plugged in”…

    NB.: Keep the “System cooling policy” on “Active” to avoid your PV to burn 🙂

    If this does not help, then give a try to Throttle Stop (Basically, uncheck the BD PROCHOT checkbox an click Save)

     

    Possibly, disable manually the Intel Processor Power Management feature (ippm). Run a cmd prompt as Administrator and execute this command before restarting your PC :

    sc config intelppm start=disabled

    NB.: To to re-enable “intelppm”, execute the command

    sc config intelppm start=demand

    Possible values are : {boot | system | auto | demand | disabled | delayed-auto}.

     

    Also look here for disabling DPTF ( “Intel(R) Dynamic Platform and Thermal Framework”). Windows has it’s own built-in processor speed and thermal management already, which is sufficient on its own.

    Update the drivers of your Processor, pressing Windows-R and typing: devmgmt.msc

     

    Check the settings in your Bios. If you have an option “CPU Power Management” set on “ENABLED”, Windows will ignore the minimum CPU power setting and clock down to the default frequency but clock up when required. If you have an option “Intel Speed Step Technology” set on “DISABLED” at the same time, the maximum frequency will be that of what it is advertised for your CPU, instead of maximum turbo boost.

    Finally, you can also check your RAM just in case, by pressing Windows+R then and typing in mdsched.exe. Then restart the PC.

    Finally, you should have solved the maximum Frequency:

    NB.: here above, my CPU been overclocked, you see more than 100% CPU available

  • How to download playlists from YouTube using Synology

    It’s really easy to download playlists from YouTube with the Download Station of Synology. I do this to get locally new “No Copyright Music’s”, to be used later within my video’s.

    Click to Read More

    I am using the “Download Station” as it simply works, opposite to many free or paid software’s which pretend to work but usually fail (and are full of advertisements…)

    Bref… Assume that you want to get all the free music’s from the excellent YouTube Channel “VLOG No Copyright“:

    • Visit their “PLAYLISTS” in your Browser (All such channels have a tab “PLAYLISTS” as you can see in the screenshot bellow).
    • Right-click on the link “VIEW FULL PLAYLIST” of the desired playlist.
      • This is important: don’t use any URL from the “HOME” tab or from any tail representing a playlist (with the “PLAY ALL”). It would only download one video and not all the playlist. 
    • Select the menu “Copy link address”
      • The copied url should be like this : “https://www.youtube.com/playlist?list=xxxxxxxxxx”

     

    Now, go to your “Synology Download Station” and:

    • Click on the large blue sign “+“. It opens a window to create new download tasks.
    • Go to the tab “Enter URL“.
    • Paste there the URL of the playlist copied previously.
      • A subfolder with the name of the playlist will automatically  be created under the destination folder and the video will be saved in that subfolder
    • Select the option “Show Dialog to select…” if you when to download only some of the video’s. Otherwise you can unselect that option.
    • Click “Ok”.

     

    You should now see a line as illustrated here below, “waiting” to start:

     

    You have to wait until the Download Station has crawled across the whole playlist and found all the files to be downloaded… Then, you will see the list of music’s:

     

    During the download, you could see some failed tasks, with a status “Error”. It happens from time to time, but this is usually a temporary issue. Sort the list within the Download Station on the “Status” column and select all the “Error” . Then, right-click the list and select the menu “Resume”.

     

    Personally, as soon as the “music video’s” are downloaded, I extract the sound tracks and keep only those. There are many software to do this. But one of my favorite option is to use ffmpeg directly on the Synology (you have to install that package). Simply type this command in a console, in the download path were are saved the video’s: 

    for i in *.mp4; do ffmpeg -i "$i" -codec:a libmp3lame -q:a 0 -map a "${i%.*}.mp3"; done

    To process mp4 in all subfolders in the download path, I use the command:

    for d in *; do cd "$PWD/$d/"; for i in *.mp4; do ffmpeg -i "$i" -codec:a libmp3lame -q:a 0 -map a "${i%.*}.mp3"; done; cd ..; done

     

    If you are using Chrome, I can suggest some extensions to help in downloading Playlists..

    1. The extension “Copy Selected Links“. Using that one, you can copy the URL’s of all the playlists of a Channel, at once. Select the whole text under the tab PLAYLISTS (it will then appear highlighted in blue as illustrated on the screenshot here under). Next, right-click in an empty area and select the menu “Copy selected Links”.

    Now go into Notepad++, as we have to keep only the playlists. Paste the Clipboard into a new tab of Notepad++. Press CTRL-Home to come back to the top. Press CTRL-H to open the “Replace” window. Select “Regular Expression” at the bottom of that window and click the “Replace All” button once you have entered this into the field “Find What”:  .*watch.*\n (or .*watch.*\r\n if it does not work properly)

    Now, you have two options. If you have no more than 50 playlists, you can paste them directly into the Download Station via the button “+” and the tab “Enter URL” as explained previously. Otherwise, you have to save with all your URL’s into a .txt file (with Notepad++) and upload that file via the tab “Open a file” instead of the tab “Enter URL“. 

     

    2. The extension “Download Station” (or this version in Chrome Web Store) to more easily download the playlists. Same principle as above, but instead of right-clicking “View Full PlayList” to copy the playlist URL, you now have a extra menu “Synology download Station” (or Download with “Download Station”).

     

    Another trick, when available in the PLAYLISTS tab of a Channel: select and download the Playlists “Sorted by Mood” or “Sorted by Genre”. This will help you when you search for a particular type of music for your video. Ex.: with the Channel “Audio Library”:

     

    Adive: each time you add a playlist in the Download Station, check that the amount of new download tasks match with the amount of tracks in the playlist. Indeed, it happens that not all the video’s are added into the Download Station as it has limits(a total of max 2048 download tasks <= reason why you have to clean-up all downloaded tasks before downloading new long playlists. There is also a limit of 256 links per “file” uploaded and a limit for a playlist of “2048 – amount of current download tasks”).

    Don’t forget that for most “No Copyright Music’s”, you have to mention the author in your video’s or posts. Often, in YouTube, you have to click on “Show More” under the video to see the details of the license:

    The License is usually clear. Ex.:

    To find again later the video’s on YouTube and check the type of license, it’s important to keep:

    • The original name of the video when converting into mp3
    • The name of the playlist
    • The name of the channel

    To do so, the easiest is to add some metadata into the mp3 extracted with ffmpeg. Once downloaded by the “Download Station”, your video’s should be in subfolders which have the name of their playlists. And the filenames usually contain the Author, the name of the song and the name of the YouTube Channel. So, it’s easy to create the metadata. Ex.: the playlist “Dance & Electronic Music | Vlog No Copyright Music” of Vlog has been downloaded into a subfolder named “Dance & Electronic Music _ Vlog No Copyright Music” and the video’s are all named like “Artist- Title (Vlog No Copyright Music).mp4”

    So, to process that subfolder, I will use the command:

    for i in *.mp4; do playlist=${PWD##*/}; artist=${i% - *}; other=${i##* - }; title=${other% (Vlog*}; ffmpeg -i "$i" -codec:a libmp3lame -q:a 0 -map a -metadata artist="${artist}" -metadata title="${title}" -metadata album="Playlist: ${playlist}"  -metadata Publisher="From YouTube Channel: Vlog No Copyright" "${artist} - ${title}.mp3"; done

    As you can see, I am using the “Publisher” to store the Channels and the “album” for the playlist… This is a personal choice! (More details on ID3 tags and ffmpeg here)

    Regarding the pattern matching used in shell, it’s not always that simple and you will have to be creative… Just about the pattern matching:

    • variable2=${variable1%xyz*} => variable2 is the shortest left part of variable1 before a substring xyz.
    • variable2=${variable1%%xyz*} => variable2 is the longest left part of variable1 before a substring xyz.
    • variable2=${variable1#*xyz} => variable2 is the shortest right part of variable1 after a substring xyz.
    • variable2=${variable1##*xyz} => variable2 is the longest right part of variable1 after a substring xyz.
    • in xyz, x and z may be blanks (in my case, “xyz” was ” – “)

    As there are many duplicates in those playlists, I have written my own script to replace such duplicates by hardlinks (on my Synology). I can’t use jdupes or rmlint as those are doing “binary comparisons” and due to the conversion via ffmpeg, it doesn’t work. Instead, I search for duplicates based on the filename and size only (per channel, they are usually unique anyway). Here is my script for illustration purpose. It must be stored in an ANSI file (ex.: dedup.sh) and run with: sh dedup.sh go

    echo "Start looking for duplicates"

    find . -iname "*.mp3" -printf "%p ~ %f\n" | sort -f -k2 | uniq -Di -f1 > list.dup

    echo "Duplicates found"

    test="$1"
    previous=""
    previouspath=""
    skip=true
    while read p; do
    mp3name="${p#* ~ }"
    mp3path="${p%% ~ *}"
    if [[ "$mp3name" == "$previous" ]]; then
    mp3new="${mp3path%%.mp3}"
    node=$(ls -l "$mp3path" | grep -Po '^.{11}\s1\s.*$')
    if [[ "$node" == "" ]]; then
    echo " $mp3path is already a hardlink"
    else
    skip=false
    if [[ "$test" == "go" || "$test" == "test" ]]; then
    SIZE1=$(stat -c%s "$mp3path")
    SIZE2=$(stat -c%s "$previouspath")
    #Delta=$(awk "BEGIN{ printf \"%d\n\", sqrt((100 * ($SIZE2 - $SIZE1) / $SIZE1)^2)}")
    #if [[ $Delta > 1 ]]; then
    Delta=$(awk "BEGIN{ printf \"%d\n\", ($SIZE2 - $SIZE1)}")
    if [[ "$Delta" == "0" ]]; then
    mv "$mp3path" "$mp3new.old"
    ln "$previouspath" "$mp3path"
    echo " $mp3path now linked to original"
    else
    echo " $mp3path seems different from $previouspath"
    fi
    else
    echo " mv $mp3path $mp3new.old"
    echo " ln $previouspath $mp3path"
    fi
    fi
    else
    if [[ "$test" != "test" ]] || [[ "$skip" = true ]]; then
    previous=$mp3name
    previouspath=$mp3path
    echo "$mp3name has duplicate(s) (original in $mp3path)"
    else
    break
    fi
    fi
    done <list.dup

     

    Note: Facebook will possibly remove the audio from your video even if they is a “No Copyright Music”. When you get such a notification from FB, you can simply click to restore the audio if you did mention the Author in your post or video.

    Some YouTube Channels with “No Copyright Music’s”:

     

    ,
  • How to download Adobe Pro X

    I bought the version X which is now obsolete and would like to reinstall it using my license. Problem: I don’t have the setup anymore… Where to download this version ?

    Click to Read More

    There is no link anymore on the web or on Adobe Web Site to download that version.

    The trick:

    1. Log in into Adobe Web Site: https://www.adobe.com/
    2. Paste this url in your browser: http://trials3.adobe.com/AdobeProducts/APRO/10/win32/AcrobatPro_10_Web_WWEFD.exe 
    3. Run this web downloader and let it install Acrobat Pro 10

    Some other obsolete stuff can be found on Adbe’s FTP : ftp.adobe.com

    Example: