Logging presence using Domoticz and IFTTT

I needed a way to lower the heating when no one is at home.
My heating is controlled by a Danfoss zwave thermostats so I can interact with them.

I came out with a simple solution using Domoticz and IFTTT.

Let’s proceed step by step, assuming you have a Domoticz installation up and running,
otherwise install on your system clicking here https://www.domoticz.com/

Step 1: Domoticz configuration

1.1) create a dummy …….
then create a virtual sensor
screen-shot-2017-02-08-at-11-24-41

1.2) Choose the Switch sensor type and give it a meaningful name:
screen-shot-2017-02-08-at-11-25-06

1.3) Now go to devices and take note of the deviceID, we will need it later…Screen Shot 2017-02-08 at 11.25.33.png
… to change the switch status. The URL to call is in this format:
http://url:8080/json.htm?type=command&param=switchlight&idx=deviceID&switchcmd=On

Step 2: Set up IFTTT

2.1) First of all, your Domoticz needs to be reachable from IFTTT, in my case I opened a non-standard port on my firewall and enable the port forwarding to domoticz.
Keep in mind that if you open the port 10000 on the router firewall you need to forward to the 8080 port to reach Domoticz.
EX: http://my.host.domain:10000/pluto –> http://my.internal.domoticz:8080/pluto

2.2) Install IFTTT on your smartphone and create a new applet by clicking this:screen-shot-2017-02-08-at-12-01-45

Let’s start by choosing the location service:
screen-shot-2017-02-08-at-12-03-06

In the following screen choose the “Exit an area” trigger:
screen-shot-2017-02-08-at-12-03-59

Select the area around your home and create the trigger:screen-shot-2017-02-08-at-12-05-34

The last step will be to call you domoticz, so let’s move to the that action:
screen-shot-2017-02-08-at-12-09-45
and choose the “Maker” action:
screen-shot-2017-02-08-at-12-12-20

then add the url for domoticz using the deviceID from the 1.3 step.
make sure to use the port from the 2.1 step.
There will be something like:
http://username:password@yourIP:yourPort/json.htm?type=command&param=switchlight&idx=deviceID&switchcmd=On

screen-shot-2017-02-08-at-12-13-58
Don’t forget to add the very same rule for the “Enter Area” and using the same URL but changing On to Off :
http://username:password@yourIP:yourPort/json.htm?type=command&param=switchlight&idx=deviceID&switchcmd=Off

Integrating Homebridge and Siri with IFTTT

After the iOS 10 release, it’s finally possibile to play with Siri and HomeKit!

I installed Homebridge on my Raspberry PI and create some rules to play: control some LED bulbs, check temperature and so on…

But I wanted more! I need to extend to the full features IFTTT!
The good news is that Homebridge support IFTTT with a plugin.

IF you need to install it, go to https://github.com/ilcato/homebridge-ifttt/ and install it:

npm install -g homebridge-ifttt

After then we need to create the configuration, but first we need some preparation.

For make it work properly let’s create a rule on IFTTT.

  1. Enable the Maker Channel
  2. Create a rule:
    • Choose an event name: for example “Speedy
    • Choose an action: for example send email
    • the result should be something like this:
      • If Maker Event “Speedy”, then send an email from user@domain

Now let’s go back to the config.json for the Homebridge and connect IFTTT adding the following code:

{
    "platform": "IFTTT",
    "name": "IFTTT",
    "makerkey": "INSERT YOUR MAKER KEY",
    "accessories": [
         {
          "name": "Speedy Mail",
          "buttons": [
              {
               "caption": "Speedy Mail",
               "trigger": "Speedy"
              }
            ]
          }
       ]
 }

restart Homebridge and you can send email from HomeKit.

 

Configurare l’IP pubblico con Fastweb e l’AirPort Extreme

la configurazione non è delle più semplici ma vediamo come fare:
Andare su questa pagina:
http://www.fastweb.it/myfastpage/abbonamento/#mConfig e scegliere configura router.

Premere “Modifica” e poi “Configurazione Manuale”.

A questo punto aggiugere il servizio inserendo la porta come in questo esempio:

Image

per il server web, ad esempio  inserire questi valori

Image

A questo punto bisogna configurare l’airport extreme, inserendo l’indirizzo IP
del server da esporre su internet, in questo caso 10.0.1.17

Image

premere ora su port mappings e configurare le porte in questo modo:

Image

Riavviare l’airport e a questo punto il vostro server sarà visibile su internet.

Learning iPhone UI application

I don’t like to use Interface Builder for creating a UI prototype for my apps.
I prefer the old way: draw it on paper and then implement the code.

But…
It takes a lot of time, needs a lot of fixing and every major modification of the UI takes a huge amount of energy.

I just read an interesting post on Cocoa with Love, and I discover an interesting tool to make my life easier:
Now I can create my UI with IB, and the tool will convert it to a .m file.
GREAT!!!

The tool is called nib2objc and it can be found on Github. Github, is a site that allows developers to share their code with the rest of the world. Another great site!!

The link for nib2objc is here, and don’t forget to thanks its author kosmaczewski

Happy coding!!

Testare un applicazione iPhone

Per poter utilizzare un applicazione senza doverla scaricare dall’AppStore, c’e’ un modalita’ chiamata distribuzione AdHoc. Essenzialmente lo sviluppatore chiede, alle persone che voglio utilizzare la sua applicazione, il codice identificativo del iPhone/iPod Touch.
Lo sviluppatore genera un certificato che permette all iPhone/iPod Touch di utilizzare l’applicazione.

Questi i passi da seguire:

Preparazione

Prima di tutto assicuratevi che il vostro iPhone/iPod Touch sia connesso a lanciate iTunes.

Dovreste vedere che il dispositivo e’ connesso come nell’esempio.
Il dispositivo in questo caso si chiama “Mauro 3G”.
Se non lo vedete nella finestra di itunes, staccate il cavo e riprovate.

Quando questo si e’ connesso, andate nel tab “Sommario” e dovreste vedere una finestra come nel seguente esempio:


A questo punto ci saranno due informazioni:

  • Numero Seriale
  • Numero di telefono (se un iphone)

fate click su “Numero Seriale”. Dovrebbe comparire una nuova voce:

Se vi trovate su Mac, premete mela-C,
se siete su un PC, premete control-C

a questo punto, l’identificativo del vostro iPhone/iPod Touch e stato copiato ed e’ pronto per essere inviato a chi vi ha chiesto il codice.

Certificato

Una volta che lo sviluppatore ha ricevuto il vostro codice, vi manderà un file che termina in .mobileprovision.

A questo punto da iTunes scegliete “aggiungi alla libreria” e selezionate il file .mobileprovision.
Sincronizzate il vostro iPhone/iPod Touch.

Se tutto e’ andato bene, selezionate “impostazioni” e poi “generali”.

Dovreste vedere una nuova voce che si chiama “Profili”.

Se e’ la prima volta che lo fate, questo conterra’ solo 1 profilo.
L’esempio della foto mostra un device con 3 profili installati.

Installare il programma

Fatto. da questo momento potrete utilizzare tutti i programmi che il vostro amico sviluppatore vi passerà.

La procedura e’ semplicissima: da iTunes scegliete “aggiungi alla libreria” e selezionate il file che vi e’ stato inviato.
Verificate che la nuova applicazione, in questo esempio “iWind” sia selezionata e sincronizzate il vostro iPhone/iPod Touch: il nuovo programma sarà pronto all’uso.