Skip to content

Category: Technology

WireGuard – best VPN ever

As in the title. I’m not even going to elaborate on the superiority of WireGuard over other VPNs like OpenVPN. You have to accept this fact and get along with it. However, sometimes there is a problem with the WireGueard client on Windows 10, because due to restrictions on non-admin user profiles, the GUI will not display. I have not been able to fix this, but I have found a solution which is TunSafe.

The only problem with TunSafe is that it requires you to log on to an administrator account while starting, but Windows security issues are a topic for a separate article.

Edit. An all-in-one WireGuard VPN solution with a web ui for connecting devices.

0x0000011b printer error

If you are having problem in windows 10 to connect remote printer and error number 0x0000011b appears then to fix it you need to uninstall latest system update KB5005565.

Restart MM form HA

From time to time the photo module in MagicMirror hangs. I used to restart it manually by logging into the Raspberry and using the command “pm2 restart mm”. Now I want to make it so that it automatically restarts when I scan the NFC tag stuck to the back of the monitor.

So I divided big problem to smaller ones:
1. Restart MM,
2. Connection HA to MM machine,
3. Automation when HA apk scan tag,
4. Stick the NFC tag to the monitor xD

  1. Restart MM – Easy
pm2 restart mm

2. Connection HA to MM mashine

HA needs to let MM know to shut down for a while, so I guess the easiest way to do this is with mqtt broker.
I have used before Mosquitto, so I will use it.

MM site:
I created 2 files in my home directory: and

#!/usr/bin/env python

sleep 20
python /home/pi/ & basen on mqtt-screen-power project:

mqtt_host = ""
mqtt_port = 1883
mqtt_topic = "/screen/restart"
mqtt_username = "xxxxxxxx"
mqtt_password = "xxxxxxxx"
power_on_command = "pm2 restart mm"
power_off_command = " "

import paho.mqtt.client as mqtt
import subprocess

def on_connect(client, userdata, flags, rc):
    # The callback for when the client receives a CONNACK response from the server.
    print("Connected with result code "+str(rc))

    # Subscribing in on_connect() means that if we lose the connection and
    # reconnect then subscriptions will be renewed.

def on_message(client, userdata, msg):
    # The callback for when a PUBLISH message is received from the server.
    print(msg.topic+" "+str(msg.payload))
    if str(msg.payload) == "ON":
                         shell=True, stdout=subprocess.PIPE)
                         shell=True, stdout=subprocess.PIPE)

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

client.username_pw_set(mqtt_username, mqtt_password)
client.connect(mqtt_host, mqtt_port, 60)

# Blocking call that processes network traffic, dispatches callbacks and
# handles reconnecting.
# Other loop*() functions are available that give a threaded interface and a
# manual interface.

Both files chown is 755. Autostart with command “crontab -e” – “@reboot sh /home/XXXXX/”

HA site:

HA configuration.yaml

  - platform: mqtt
    name: "MM restart"
    command_topic: "/screen/restart"


- alias: turn_off_restart_mm
    platform: state
    entity_id: switch.mm_restart
    to: 'on'
      seconds: 1
    service: switch.turn_off
    entity_id: switch.mm_restart

3. Automation when HA apk scan tag,

HA automations.yaml:

- alias: mm_tag
  initial_state: true
  - platform: tag
    tag_id: 7275ecff-27a1-4c4d-a7fd-69647998dbf8
  - service: switch.turn_on
    entity_id: switch.mm_restart

4. Stick the NFC tag to the monitor. Formality.

Changing the hours of light in HA automations

I wanted the lights above my kitchen counter to light up faster in the evening and later in the morning, I did it this way:

- alias: Kitchen_leds_on
  initial_state: true
    platform: state
    entity_id: binary_sensor.motion_sensor_158d00031c90e3
    from: 'off'
    to: 'on'
    condition: or
      - condition: numeric_state
        entity_id: 'sensor.illumination_34ce00fb6930'
        below: 100
      - condition: time
        after: '19:00:00'
      - condition: sun
        after: sunset
        after_offset: '-01:00:00'
      - condition: sun
        before: sunrise
        before_offset: '01:00:00'
    service: light.turn_on
    entity_id: light.kitchen_leds

Change drive to ssd

What is the easiest and fastest way to speed up your computer? Yes, changing the drive from hdd to ssd. This can be done in 3 tasks:

  1. buy a drive
  2. copy the data
  3. replace the drive
  1. Buy a drive
    Based on those smarter than me ie I personally currently advise the Crucial MX500. You can buy a drive bay right away, so you can connect the drive for cloning and then you can use the old drive as a kind of flash drive.
  2. Copy the data
    Connect the drive in the pocket to the computer, start the system and the program ReflectDLHF. It’s free for non-commercial use and you can clone entire partitions from a large capacity to a smaller one.
  3. Replace the drive
    There is nothing to explane here. Search in google how to open your laptop – “replace drive in xxx” and follow the instructions.

If something goes wrong, then most likely the boot sector of the partition on the disk was already screwed up. You can play around with command line recovery some example links:

If that doesn’t help then I recommend a clean install, just remember that the new disks must be in GPT (GUID Partition Table) and not MBR (Master Boot Record). That is, if Windows 10 isntalation crashes at the disk selection stage and underneath you see the message “Windows can’t be installed on drive 0 partition 2. (Show details)” “Windows cannot be installed on this disk, The selected disk has an MBR partition table. On EFI systems, Windows can only be installed to GPT disks.” you need to do this:

Excel Search by Multiple Criteria

If you have a list of horizontal data and you want to turn it into vertical data then you need to use the index() function. As in the example below.

First, prepare a list of two non-repeating values, in my case “Nazwa” and “Kwota”. Then a list of recurring values to help with the search, I search by the “Etap” column.

The formula in the “Adres” column looks like this:


Nothing special. The real magic begins after this column. Index() function supported by Match().


Remember to confirm the index() function using the key combination Crtl+Shift+Enter.

The system doesn’t recognise the monitor

If you have problem wiIf you have a problem with your monitor, one day everything looks normal, the next day the screen resolution is 800×600 and the device manager defines your monitor as a “Standard PnP monitor”, this means you probably have a problem with the cable connecting the GPU to the monitor. 

Magic Mirror on Raspberry Pi 3B+



To have such an information monitor, you need to have some unnecessary things, like a monitor and a raspberry, and buy a monitor holder and an hdmi-dvi adapter. I had nothing, so I bought parts. For the monitor I went to a computer store and asked about an old monitor, they gave me a 17″ for free.




Steps in few words:

  1. Install Raspberry Pi OS with desktop
  2. Install MagicMirror
  3. Install modules:
    • MMM-homeassistant-sensors – sensors from Home Assistant (temp, pressure, humidity, pm2.5, etc.)
    • MMM-Spotify – shows some music playing on Spotify
    • MMM-Wallpaper – based on reddit or bing wallpaper changer
    • MMM-GooglePhotos – shows your albums
    • MMM-HTMLBox – shows weather from
    • MMM-SystemStats – shows rpi stats
  4. Autostart MagicMirror

If you don’t have money for a big memory card or you use a recycled one, you have to watch the memory so that MagicMirror logs don’t eat all the memory. I solved this by installing logrorate.

with this settings: