How to make Xiaomi gateway compatible with HomeKit

This is very simple and there are a lot of way to do so. You need:

– Raspberry Pi (3 or Zero it’s the same, you just need to install Raspbian)
Xiaomi gateway (of course)
– iPhone or iPad (well it’s the purpose)

First of all, connect ssh to it with:

ssh pi@raspberrypi.local

Then do the update and install the dependence:

sudo apt update
sudo apt upgrade
sudo apt install libavahi-compat-libdnssd-dev

Now install homebridge:

npm install -g homebridge

And then the plugin:

npm install -g homebridge-aqara

Ok now it’s ready, open the app Mi Home and enable the developer mode (save your username and password). Edit this file with:

sudo nano ~/.homebridge/config.json

And paste (with your sid and password):

{
 "platforms": [
{
   "platform": "AqaraPlatform",
   "sid": ["6409802da3b3"],
   "password": ["02i44k56zrgg578b"]
 }]
 }

That’s it! Run homebridge from the terminal and go to the Home app from your iPhone, add Homebridge (with the password that the terminal shows you few second ago).

If you have any questions, feel free to ask in the comment’s section.

How to install Raspbian

It’s so easy nnowadays that you can even image how difficult was (for the noobs, the pro are already pro).

Go here and download the last version of NOOBS: https://www.raspberrypi.org/downloads/ and when it’s finished, unzip the archive.

Than insert the microSD (or SD if you have a old one) in your computer, format in FAT32 and rename it just BOOT (all capital).

Now copy and paste all the folder and file that was in the zip archive… and it’s done! You can safely remove the memory and insert into your Raspberry Pi.

Follow the instruction at screen and you are ready to go!

How to read and write file in Swift

In Swift 3 the syntax is a just a few different than the 1 or 2 version:

let file = "file.txt" //this is the file. we will write to and read from it

let text = "some text" //just a text

if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {

    let path = dir.appendingPathComponent(file)

    // writing
    do {
        try text.write(to: path, atomically: false, encoding: String.Encoding.utf8)
    }
    catch {/* error handling here */}

    //reading
    do {
        let text2 = try String(contentsOf: path, encoding: String.Encoding.utf8)
    }
    catch {/* error handling here */}
}

Source: https://stackoverflow.com/questions/24097826/read-and-write-data-from-text-file

How to sniff iPhone web traffic with Wireshark

Open Xcode and click on top Devices like in the image below:

Devices from Xcode

Copy the identifier (in the black row):

Identifier iPhone from Xcode

Now open the terminal and paste:

rvictl -s idcopyed

If it show:

Starting device identifiercopiato [SUCCEEDED] with interface rvi0

Open Wireshark and start sniffing from rvi0. Voilà!

How to delete cache and free space on Xcode

If something goes wrong or the simple Clean and rebuild does not work, you must delete the contents of these folders right now (carefully).

~/Library/Developer/Xcode/DerivedData
~/Library/Developer/Xcode/Archives
~/Library/Developer/Xcode/iOS DeviceSupport
~/Library/Developer/CoreSimulator
~/Library/Caches/com.apple.dt.Xcode
~/Library/Application Support/MobileSync/Backup

Thanks to the source.

Word of the day

Do you want to show off a sophisticated language but your vocabulary is always reduced to the same words?

Do you want to enrich your dictionary with the words that you often hear?

Word of the day is the app for you!

Every day you will have at hand a new word with its meaning and you can display it within the application, in the notification center, or on your Apple Watch.

You can also tap on the circle to generate a new random word so you’ll never get tired. In the archive there are a myriad of definitions, and you can suggest new words in the section that will be added in the next version!

All definitions were found online.

Dailycharge

Suppose you bought a new car and want to know what cost the last thee years. If you paid $ 20,000, and 365 days have passed, what will it cost per day? Dailycharge does the calculation for you! And… it is easy: $ 54.79!

Do you want to know how much it costs you daily the new computer that you buy?

With Dailycharge you may calculate it in a heartbeat! Simply you can just enter the name of the product, date of purchase and the price! The daily calculation does the app!

That’s all! Download now Dailycharge.