Search This Blog

Tuesday, June 6, 2023

PowerShell: Creating Forms

To create a simple GUI you can use Windows Forms, I've previously written a post on how I created a simple game using PowerShell and Windows Forms.

In this post I will rather talk a bit about the different components available, in the form of a reference guide for building various GUI-oriented scripts.

If you have worked with Tkinter in Python, you might be familiar with the concept of putting layer upon layer, or boxes within boxes, placed with a coordinate system. It's helpful to know but not at all a requirement. Let's dig in!

For some forms it is helpful to enter this at the start:

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

Main window

For a basic app you will need a mothership that contains all the other elements such as buttons, boxes, text fields, images and the like. At the end you will also need activate the main window. The concept looks like this:

$MainWindow = New-Object System.Windows.Forms.Form
$MainWindow.text = "Stock Price Calculator"
$MainWindow.size = New-Object system.drawing.size(700,440)
$MainWindow.FormBorderStyle = "FixedDialog"

<Other code goes here>

$MainWindow.add_shown({$MainWindow.activate()})
[void] $MainWindow.ShowDialog()

In this example I've given the main window the variable name $MainWindow for the sake of simplicity. Add a dot to add additional attributes, such as .StartPosition = "CenterScreen".

Labels

Labels are pieces of text that describe something. Normally not something you want the user to interact with. It could for example describe what a textbox should contain. The location system is (x,y) where a lower x goes left and a lower y goes up. These numbers can be variables that you define outside the object. For example (($winwidth-100),($winheight-50)).

As with the main window variable, we can give labels a variable name. 

$Label_CurrentStock = New-Object System.Windows.Forms.label
$Label_CurrentStock.Location = New-Object System.Drawing.Size(100,222)
$Label_CurrentStock.Size = New-Object System.Drawing.Size(140,20)
$Label_CurrentStock.BackColor = "Gray"
$Label_CurrentStock.ForeColor = "Black"
$Label_CurrentStock.text = "Current amount of stock"
$Label_CurrentStock.textalign = "MiddleCenter"

In order for the object you create to show up on the main window add the following code. With the variable names that you use for your main window and object you are adding.

$MainWindow.Controls.Add($Label_CurrentStock)

Textbox

Textboxes are another object you might want to learn when creating Windows Forms. Just as with labels they are variables containing an object with attributes.

$Textbox_Current_Stock = New-Object System.Windows.Forms.TextBox
$Textbox_Current_Stock.Location = New-Object System.Drawing.Size(100,100)
$Textbox_Current_Stock.Size = New-Object System.Drawing.Size(140,20)
$MainWindow.Controls.Add($Textbox_Current_Stock)


Button with function

You also need intractability built into your script, so that the button for example triggers a calculation and presenting a result in a textbox. You can start off by defining the button, what size, location, color and text for example. Then you attach a function to it that is executed on being clicked.

This example shows a button that takes text from a textbox, makes it uppercase and then replaces the content in the textbox with the modified text. Here the textbox variable is called $TextboxMain and the property .Text is the content.

$ButtonUpper = New-Object System.Windows.Forms.Button
$ButtonUpper.Location = New-Object System.Drawing.Size(150,40)
$ButtonUpper.Size = New-Object System.Drawing.Size(100,200)
$ButtonUpper.TextAlign = "MiddleCenter"
$ButtonUpper.Text = "Upper Case"
$ButtonUpper.Add_Click({$TextboxMain.Text = ($TextboxMain.Text).ToUpper();})
$MainWindow.Controls.Add($ButtonUpper)

You can for example create a status bar in the bottom of your app that you write to in the same function, for example by writing $TextboxStatus.Text = "Text set to upper case"; or perhaps by turning something in your GUI green as a confirmation.

Sunday, June 4, 2023

iPhone: How to downgrade iOS

Prerequisites

If you for some reason want to reinstall the OS manually on your iPhone it is possible. Perhaps you experienced issues with the copy of software that you upgraded to or perhaps you just need get an older version of the OS.

For those that do jailbreaking of an iPhone it requires certain versions of the iOS installed for example.

The important detail is that the software that you install manually has to be signed by Apple. The software is available to download on ipsw.me. There you will see if the software is signed or not. If the version you want is not signed it will not work, there are guides on how to bypass it out there, but I haven't tried them myself yet.

While downloading a copy of the iOS you also need iTunes installed on your computer.

Manually installing iOS

To install the iOS manually you simply connect your phone, put it in recovery mode (each model has a combination of the buttons that you have to press in order to enter "DFU mode"). You will now have the option of "restore" your iPhone. 

Make sure to shift click the restore button in order to manually choose the software that you want to write to the iPhone.

It will then extract and install the software.

Saturday, May 27, 2023

Telnet: A quick overview

Overview

Telnet is a tool for administrating servers remotely. The name stands for Teletype Network and was invented pre-internet. As a consequence it is also an unencrypted way of communicating with a server. It should therefore not be used over the internet as the traffic may be intercepted, for example using Wireshark. 

Apart from servers it can also talk to other equipment such as network switches and routers. If the equipment is old, it might only be able to use Telnet instead of the encrypted tool called SSH (Secure Shell).

It is a command line tool that you can run on Windows, Mac and Linux which communicates bidirectionally. 

From a technical point of view it is a client/server type of protocol. The terminal captures keystrokes, the client converts it to a universal language that then goes through the TCP/IP protocol and through a network virtual terminal which sets a mutual standard for both machines.

It then goes through the TCP/IP stack on the receiving server side, the Telnet server converts/reverses the universal language to a language that the receiving system understands. The pseudoterminal then executes the commands and runs the applications.

Activating and deactivating Telnet Client

On a Windows machine you can activate it by going to the control panel, then select programs and features, then press "turn Windows features on or off".


Another way of activating Telnet is by using an elevated PowerShell prompt.

You can run the following commands to either activate or deactivate Telnet.

Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient

Disable-WindowsOptionalFeature -Online -FeatureName TelnetClient


Using Telnet commands

If you write telnet followed by a target address followed by a space and a port number, you will use a different Telnet version. It can look like this if you try to connect to your local gateway:

telnet 192.168.0.1 23 

If you get stuck on "Connecting to 192.168.0.1..." it means that the port is closed and that Telnet won't work. Use the escape key to cancel. On a US keyboard it is Ctrl + ], on a Swedish keyboard your Telnet escape key is Ctrl + ¨.

Use telnet /? to open some the related help text.

You might experience lag when sending the commands, this is because the keystrokes has to travel back and forth over the network once you are connected via Telnet.


If only you write Telnet, you will instead open the Microsoft Telnet context.

To open a connection:
o google.com 443

To close a connection:
c google.com 443

To quit the Telnet context that you opened, simply use the command quit.

For more commands check the Microsoft page.

Summary

Telnet is an old and insecure way of communicating with servers, routers and switches. It is a text based tool run in the command prompt or PowerShell. Use SSH as a better alternative unless you work with legacy equipment that only can handle Telnet. Telnet is and should be disabled by default unless you have reasons to keep it active.


Thursday, May 18, 2023

ChatGPT: Making YouTube videos

A while back ago I wrote a blogpost in which I laid out a structure for a five part series of YouTube videos that I choose to call PowerShell for Beginners. 

These videos have now been published and looking back at the experience I wanted to write a few lines about it.

First of all, the plan was to set a goal that I knew was possible to reach. One series containing five videos was reasonable and achievable. I also didn't want to let AI do all the creative work so to speak, I still wanted to record a voiceover, create slides and write the manuscript myself.

Instead I let ChatGPT create the topics for each video, with only the content keywords that I then could build manuscripts around.

The process of creating the first video was slow since I was unused to it and was figuring out the way. At the end when I had figured and polished my workflow it looked something like this:

1. Read the chapter guidelines to find out what it needs to encapsulate.

2. Divide the content into chapters while creating the manuscript, so that it is clear what slide contains what information. Make sure to include an intro and an outro text.

3. Create slides using PowerPoint, boiling down the text from the manuscript. Also a chance to make final corrections in the manuscript text as you step through it. Export each slide as a .PNG. At this stage I had created a simple PowerPoint theme to easily reuse the colors and fonts that I like.

4. Record voiceovers, one recording per slide, by reading from the manuscript and make sure it matches the slides. Make any final corrections if you notice any errors. By having one recording per slide you get the chance to rerecord any faulty files without having to redo everything.

5. Using OpenShot video editor I added the images and the sound recordings. Then after some editing I exported it as a video .

6. Upload to YouTube Studio and use the right settings for your content.

Sunday, May 7, 2023

VPN: Adding Proton VPN to Windows manually

The basics of VPN

The idea behind a VPN (Virtual Private Network) is partly to connect computers over a virtual network, in a business setting it could mean that you can access your company resources from outside the dedicated network. While you are at home or when traveling for example.

Today VPN:s are also sold to the average user as a magical defense against the cyber dark arts, but it's not entirely true. While it redirects your traffic and also encrypts data, it's not a one size fits all solution. Alternatives such as HTTPS will also encrypt your traffic and browsers like TOR (The Onion Router) redirects your connection through different nodes three times so that you become anonymized.

When you use a VPN you also entrust your information to another company than your Internet Service Provider (ISP).

The benefit of a VPN is that you can control what country you appear to browse the internet from. It can for example make you appear as an Italian user, thus allowing you to browse material restricted to Italy. Such as media sites and news websites. The downside is that some VPN:s messes your search experience up, putting you through annoying recaptchas. 

This post is not intending to guide you to a choice of VPN or to recommend one over the other. The simple fact is that I'm using Proton VPN when I need to use a VPN and I'm reasonably happy using their service and I trust them enough. All that aside, this is a guide on how to use Windows 11:s built-in VPN service by setting up a connection to a Proton VPN server. For a beginner I would simply recommend their downloadable app, it's available for Mac, PC and Linux. I even think I got it working on my Raspberry Pi 4 (Kali Linux).

Setting up a connection to a Proton VPN server manually in Windows 11

1. You need to create an account on the Proton VPN website if you aren't already registered. Then continue by login into the dashboard.


2. Take note of your login credentials if you need them again, if you are going to download their app you will need it to log in there as well.


3. When you are logged into their website go to https://account.protonvpn.com/account

At this page, make sure to copy your OpenVPN/IKEv2 username and password. These aren't the same as you use to log into the website/VPN app.


4. You are also going to copy a specific server address for the country/server that you want to use.

Go to https://account.protonvpn.com/downloads and scroll down to OpenVPN configuration files.

Pick a country and server, press the arrow key next to download to get the server address.

It can look like this for a Japanese server: jp-free-11.protonvpn.net



5. At this stage you have prepared your login details and a server address of your choice.

Time to install drivers.

Go to https://protonvpn.com/download/ProtonVPN_ike_root.der and download the certificate.

Open the file and click install certificate

Choose local machine and next

Choose to place all certificates in the following store, navigate and select the folder "Trusted Root Certification Authorities" and continue

Make sure that the installation is finished.


6. Now it's time to create a VPN connection in Windows.

Navigate to Settings -> Network & internet -> VPN. You can go there with PowerShell "start-process ms-settings:network-vpn" or by doing run "ms-settings:network-vpn".

Click "Add VPN"



Fill in the following:

VPN provider = Windows (built-in)

Connection name = Choose a suitable name for the connection

Server name or address = The server address you got from Proton VPN website, see step 4.

VPN type = IKEv2

Type of sign-in info = Username and password

Username = IKEv2 username, see step 3

Password = IKEv2 password, see step 3


7. Your connection should show up in the list. 

Test it out directly to see if you get any errors.


Fixing policy match error with Proton VPN

1. If you get a policy match error you can fix it in the registry

2. Create a .reg file with the following text:

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters]

"NegotiateDH2048_AES256"=dword:00000002


3. Run the .reg file when you have created it 

4. Try connecting your VPN again

5. Confirm that your IP has changed by visiting a "what is my IP" site for example

Sunday, April 30, 2023

Windows 11: Change boot logo

It all started with me wanting to change the boot logo of my Windows 11 computer.

The EFI (extensible firmware interface) is a protected, FAT32-drive with a size of 100 mb that usually is invisible to you in the file explorer. You can however see the partition in Disk management which you access as administrator through the program called Computer Management. At the end of the blog post I will show you how you can access it through PowerShell if you are curious. Always treat this partition with great respect.




My research led me to HackBGRT and here you are offered software that temporarily maps your EFI drive so that you can change the boot logo for one of your own.

How to design the logo


The requirement for the logo is that you have a 200 x 200 pixel image in the format of a 24-bit BMP image. It requires the name splash.bmp and that is has a black background if you want to achieve a "transparency effect", since the boot up background on most computers is black. 

In my experience it was better to have an icon that was wide on top of the square background, rather than trying to have a square icon as the image still became stretched out.

Use HackBGRT to change boot logo


  1. Download the .zip and extract it in a suitable folder.

  2. Perform a backup of your system through a system restore point, this is because changes in the EFI can destroy your boot up process.

  3. Make sure that you've created the image and placed it in a folder that you remember. You also need Paint installed on your computer.

  4. Run setup.exe in the HackBGRT folder, accept the UAC prompt and then press I to install the logo.

  5. Close the "readme.txt" that pops up, this will now open Paint. Using Paint now go to file and select open.
     
  6. Now you should have a file explorer window from Paint open. Navigate to your custom logo location, copy it, navigate to "This PC" and you should find a new A: drive. Navigate to the following: A:\EFI\HackBGRT and then paste the custom logo. You are prompted to replace existing file in destination, confirm to continue.

  7. Close Paint, exit the setup.exe window and then restart your computer to see if it work.

To restore your logo back to the original you run setup.exe and use R instead. 

Access the EFI through PowerShell

First we need to turn the EFI partition into a visible drive so that it becomes easier to work with.
  1. Open an elevated PowerShell window (run as administrator)
  2. Write Diskpart to activate the Diskpart program within PowerShell
  3. With Diskpart now running use the command and write list disk. This displays your available disks. Take note of with number your main disk has, usually 0.
  4. In order to target the right disk, write select disk 0 and get confirmation.
  5. In order to target the EFI partition we need to identify it. Write list partition and take note of the number, it is labeled as system type and has the size of around 100 mb. In my case it is partition number 1.
  6. To target the EFI partition we now write select partition 1 and get confirmation.
  7. In order to actually turn it into a visible drive write assign letter=E or another letter that is not in use.
  8. Write exit in order to leave the Diskpart program in the command line.
Continue in the elevated PowerShell window in order to navigate to the EFI drive, you can't access it through the file explorer as it is a FAT32 drive and regular access permissions doesn't seem to work there.
  1. Now that you know that the E: drive is the EFI you can use it for the following command.
  2. Write Set-Location "E:\EFI\" in order to step into that location.
  3. Write Get-ChildItem to list which subfolders exists within that location.
  4. Continue to explore subfolders using Set-Location and Get-ChildItem or their aliases sl and gci both which are easier to write but not recommended to use in scripts that are shared.
  5. Write exit to close the PowerShell window when you are done looking around. 




Thursday, April 13, 2023

ChatGPT: Generating business ideas

As the rest of the internet citizens I've started looking into ChatGPT and the Bing AI more and more.

Today I wanted to see how it can help me generating business ideas, in this case I used videos on YouTube as an example.

The content


In essence I sent three prompts to it that covered the basics. My first prompt was:

I want to create a five part series (each episode around 15 minutes) on youtube.
The course will be about Powershell and target towards beginners.

Give me 5 topics that these 5 episodes could be about.

My reasoning behind this was that it had to be a reasonable amount of work for me as a person, you might have a full time job or family to take care of for example. I also used something that interests me as a central topic for the video lessons and I made sure to be specific with my target audience.

ChatGPT generated 5 different lesson ideas that I then can curate and improve upon, depending on what I would like to teach and my skillset.

These are the lessons that was suggested to me:

Episode 1: Introduction to PowerShell - In this episode, you could cover the basics of PowerShell, including what it is, why it's important, and how to use it. You could also introduce the PowerShell console and some basic commands.

Episode 2: Variables and Data Types in PowerShell - This episode could cover how to use variables in PowerShell and the different data types that are available. You could also demonstrate how to manipulate variables in PowerShell, such as performing arithmetic operations and string concatenation.

Episode 3: PowerShell Cmdlets - In this episode, you could introduce PowerShell cmdlets, which are pre-built commands that can be used to perform specific tasks in PowerShell. You could cover some common cmdlets and demonstrate how to use them.

Episode 4: PowerShell Scripts - This episode could cover how to create and run PowerShell scripts, which are collections of PowerShell commands that can be executed as a single unit. You could demonstrate how to create a simple script and run it from the PowerShell console.

Episode 5: PowerShell Modules - In this final episode, you could introduce PowerShell modules, which are collections of related cmdlets, scripts, and other assets that can be shared and reused. You could cover how to find and install modules, as well as demonstrate how to use some common modules for tasks such as managing Active Directory or working with Azure resources.

The recording and editing software

In order to do the recording I need software that is free and can add voice over later on in the editing phase. After specifying my requirements to ChatGPT it brought me a suggestion of a software I hadn't heard about before. It is called OpenShot and I downloaded it and I'm going to test it during the day. This is what ChatGPT had to say about it:

One free video editing software that you can use to record your PowerShell lessons and add a separate voiceover track afterwards is OpenShot Video Editor.

OpenShot is a free and open-source video editing software that offers a variety of features, including the ability to add multiple audio and video tracks, transitions, effects, and titles. It supports many popular audio and video formats, so you should be able to import your recordings without any issues.

To add a separate voiceover track, you can simply record your audio separately using a microphone or audio recording software, then import the audio file into OpenShot and place it on a separate audio track. You can then adjust the volume levels and timing to sync the audio with your video footage.

Overall, OpenShot is a good option for beginners who are just getting started with video editing and want a user-friendly interface that is easy to learn.

Monetizing a YouTube channel

It had been a while since I saw the requirements to monetizxe your channel on YouTube. ChatGPT summarized the requirements like this:

- You need 1000 subscribers.
- You need 4000 of watched time in the past year.
- You need to meet the Terms of Service and other agreements of the community.

And this is how you start monetizing the channel:

- Go to the YouTube Studio dashboard.
- Click on "monetization" in the left sidebar.
- Follow the steps to accept the conditions of the YouTube Partner Program (YPP).
- You need an AdSense account and like it to your channel, this will give you payment for ads that are viewed on your videos. You will receive payments when your application is approved.

You can also earn money on YouTube through merchandise, affiliate marketing, sponsors and YouTube Premium revenue.

Thursday, April 6, 2023

Review: NOS K-600 Gaming Keyboard

Overview

Recently my second hand bought NOS K-200 Mini broke when I was vacuuming it and a key broke when I tried to remove it so I had to buy a new for my computer. 

First I went and got a NOS C-650W Compact it had smooth key presses and an option for wireless connection. However, it was missing easily accessed keys that I usually use when I play World of Warcraft, so I returned the keyboard and finally got myself a NOS K-600 Keyboard Core RGB. Which is also the keyboard I will review.

It uses a fixed cable to power itself which leads into a regular USB-connector, which I use connected to my Surface Dock 2. The response time is great and it's not excessively noisy when writing, but it is noisier than C-650W for sure and the key presses aren't as smooth. Compared to K-200 it is a bit smoother in both noise and key presses. Furthermore the keys are relatively elevated, compared to flatter keyboards.

The keyboard is pretty much a full size keyboard, it has a numpad, a media control and some quick access buttons top left. I saw a similar model where these hotkeys were too closely located to the "esc" button. Which can cause issues in gaming if you accidentally start up other programs.

A unique feature for this keyboard is the phone holder at the front, it can keep my Xiaomi Redmi 10C standing up right (but it seems to struggle a bit). I can unfortunately not have the phone sideways due to the case I use for the phone.

RGB light and functions

The keyboard also has a RGB backlight which both looks good and helps you to navigate when it's dark in the room. You can use the Fn combined with the following buttons to control the light.

M1 = constant or pulse light.

M2 = to choose either left or right moving waves of light.

M3 = toggle between fixed lights, such as cyan, violet, pink, white, red, yellow, greenish yellow ("chartreuse") and green.

M4 = change between different pulses of color.

Combine Fn with the arrow keys to control intensity of the light and the speed of the pulses.

The media center has the classic "stop", "previous track", "next track" and "play/pause" icons. It also has a scrolling wheel that allows you to increase and decrease the volume. I like that feature a lot, it's easier to use than repeatedly pressing a volume up/down button. 

There is also a way to program your own light setup using the G1 button (PgUp).

If you press Fn + Windows Key, you lock the key. Press the combination again to unlock it.

You can switch WASD for arrow keys using Fn + W, and once more to turn the function off.

Overall impression

The keyboard measures 45 cm wide and close to 18 cm long, including buttons its almost 4 cm tall on the tallest place. There is a lot of extra unused space on the keyboard and it could in my opinion be flatter.

It has a nice feel to it though, combining the classic "plastic" feel of office keyboards, with the functionality and looks of a gaming keyboard. From a writing point of view I transitioned to it easily, likewise with the gaming.

It costed roughly 500 SEK and you get what you pay for so to speak, overall a decent keyboard that performs well and takes up a bit of space.


Sunday, April 2, 2023

Review: Microsoft Edge

So it is time to take a look at  Microsoft Edge and give it a chance as my daily driver browser.

I'm traditionally and since many years a avid Firefox user. It has been my primary web browser since many years now, it feels like I have used Firefox for the past 10 years at least.

Design, speed, privacy has been a few of the keywords that made me choose Firefox above Chrome, until recently it has been my go to browser in my private life. For work I've used Microsoft Edge for the past three to four years. Let's be honest, a lot of the reason why I've stuck with Firefox is also habit.

Some things I liked with Firefox, that is not necessarily exclusive to that specific browser is the sync between computer and phone. It also has a generally nice password manager that is easy to use. It also felt good standing up to the big corporations. As of late I also discovered the nightly version, which basically keeps the browser with the latest consumer available updates at the expense of a few bugs (but seeing as it is my private browser it doesn't impact my browsing experience).

I'm not leaving Firefox, but I might be moving over to Microsoft Edge and here is why:

With the recent rise of AI-based search engine improvements for Bing, it has created a really nice search experience. This in conjunction with the Microsoft Rewards has become a feedback loop. I use the search more and sometimes make use of the AI chat to get the right information. From the reward redeeming page I could calculate (based on one product) that 145 points equals 1 SEK. Remember that you also get points from searching in your phone, the easiest way to get points is to just make Bing your default so that the point keeps stacking up "passively".




Since I am making it my main browser I also had to import favorites and passwords, something which you easily do these days. Remember to also start syncing your data so that it is accessible in your phone.

Converting to a new browser religion also includes using the mobile app. Here I opted for the dev channel, simply out of curiosity. This is also where I have had the most issues with Microsoft Edge. The starting page is giving me the wrong temperature unit (showing Fahrenheit when I want Celsius) and there are also no extensions for the phone app. Which means that you can't use an adblocker like you can on Firefox mobile. So Firefox mobile is still my go to app when it comes to listening to long Youtube videos. On the computer there are a few addons and themes for the Edge browser, but you can also use the Chrome Web Store since the addons and themes are compatible with the chromium based browser Edge.

It also feels better when the choice is mine, and it is not a preloaded default. Setting Edge as my default and go to browser was my decision. So far I'm giving it 8/10 compared to 10/10 for Firefox. It seems marginally lighter on the resources as well.

Hope you found the review interesting, thank your for reading it.

Sunday, March 5, 2023

Review: Deltaco Smart Home

Making your home smart is fun but not necessarily needed, at least yet. Bringing new functions and perhaps efficiency to your daily life is a welcome bonus.

While we could spend an entire post discussing different automation ideas and the future of the smart home, this post is meant to simply review the products of the manufacturer Deltaco that I'm currently using.

The camera SH-IPC09 is the latest addition. I bought it on the second hand market for close to half the price. I was happy with the image quality, it also offers unique mounting methods, for example with a magnet socket. The camera uses an internal battery that seems to have a fantastic battery life and it's easy to connect to when not at home.

The door sensor SH-WS02 is a device consisting of two parts essentially (+ a part that keeps the sensor on the wall). The sensor reports whenever the magnet and the sensor is separated or close to each other. You can set this up for simple notifications or more advanced triggers such as turning the lights on.

The smart plug SH-PS01 is a socket that you put in the electrical sockets in the wall for example. It allows you to remotely turn the electricity on or off. You can also use it with additional triggers.

In my collection I also use regular smart bulbs, I found these to perform best with white light (both warm and cold). The colors are great but a bit weak in their output. You can schedule these lights and use triggers with them as well. 

One thing that you have to keep in mind is that the devices across the board are reliant on wifi. I changed network SSID (the name displayed in the list of available networks) and then I had to reconfigure them. A simple task, but noteworthy nonetheless.

It's also important to keep device compatibility in mind, the Deltaco products are in large compatible with Google Home and based off of Tuya protocol which means Tuya can control the devices, but not necessarily the other way around.

I have yet to test all the functions when being away from home, but the camera has performed above expectations. Management is done through the phone app (in my case Android).