Pilot: Home Automation Control (iOS app)

Moderator: leecollings

patoo77
Posts: 297
Joined: Thursday 17 July 2014 18:20
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Paris, France
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by patoo77 »

Bikey wrote:I'm using the latest version of Pilot which works fine on my internal network. When accessed from an external location however only partly:

Externaly I'm using NGinx as a reverse proxy which forwards all external HTTPS-request internaly to the HTTP-port 8080 on my Domoticz.

NGINX and Domoticz goth run on the same Raspberry PI 2. I also let NGinx do the authentication (username/password), so I have no authentication set on Domoticz (first tried by excluding the internal IP-addresses and 127.0.0.*, but that didn't work. Then by removing the username/password altogether in Domoticz).

The strange thing is, that I can succesfully control Domoticz externally (so authentication on NGinx is Ok, self-signed certificated is Ok), but I still get, for each successfull action or update, also an Error: Failed login attempt from 127.0.0.1 for user 'xxxx' ! (xxx is the name as set in the settings screen).

So it looks like the authentication is done first in Nginx (successfull), but then also tried in Domoticz. How can we fix this?

Has anybody else got this working succesfully with NGinx?

* EDIT *
I tested again, now with setting the same username and password in Domoticz as in NGinx and now I only get this error once:
Error: Failed login attempt from 127.0.0.1 for 'xxxxx' ! Notice that this error is slighly different from:
Error: Failed login attempt from 127.0.0.1 for user 'xxxx' !
Perhaps GizmoGuz can explain?

P.s. I'm using NGinx because that allows me to block access from specific countries, have better logging and also block IP-adresses after too many unsuccessful attempts.
So you're using HTTPS on the outside and HTTP in the local network?
I think that might be an issue. As far as I can remember, the way I implemented it is that both should use the same encryption: HTTP for both, or HTTPS for both.

Do you have a way to test it on your side?
That way we can check if the issue really comes from it. :)



fantastrick wrote:Let me start by saying I am quite the n00b... :)
So here is my question; I downloaded the app and installed it but after filling in the data (as listed below) it can't connect to anything.

My steps:
Installed the app on the iPhone
Filled out the following in the app:
Address: http://my ddns.net address
Port: My custom port (forwarding is working)
SSL No
Self signed: No
Requires login: my user and pass

Tried with local server on and off, when on:
Network name: filled out with the correct name
Address: http://192.xxxxxxxxx
Port: My custom port

I searched the forum but could not find a good solution yet. Anyone some suggestions maybe?
Can you try connecting directly to your local IP address (instead of the ddns.net one)?
Does that work?
fantastrick
Posts: 6
Joined: Thursday 03 December 2015 8:35
Target OS: OS X
Domoticz version:
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by fantastrick »

Thanks for the quick reply! Appreciated.
Just tried that, also did not work. Can it be something to do with the username/pass?
Do I have to do something in Domoticz to make it work?

Image
patoo77
Posts: 297
Joined: Thursday 17 July 2014 18:20
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Paris, France
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by patoo77 »

fantastrick wrote:Thanks for the quick reply! Appreciated.
Just tried that, also did not work. Can it be something to do with the username/pass?
Do I have to do something in Domoticz to make it work?
For testing purposes, you can disable local network. Won't solve the bug though.
You can also try switching between "Basic-Auth" and "Login" authentication method in your Domoticz settings, see if that does anything.

Please let me know how it goes,
Bikey
Posts: 331
Joined: Sunday 22 February 2015 12:19
Target OS: Linux
Domoticz version: 2020.x
Location: Netherlands
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by Bikey »

patoo77 wrote:o you're using HTTPS on the outside and HTTP in the local network?
I think that might be an issue. As far as I can remember, the way I implemented it is that both should use the same encryption: HTTP for both, or HTTPS for both.

Do you have a way to test it on your side?
That way we can check if the issue really comes from i
Yes I use HTTPS on the outside and HTTP in the local network.
If I use both HTTPS inside and outside my network, I get the same result, I get one error "Failed login attempt from 127.0.0.1 for 'xxxxx' !" each time a start Pilot up after shutting it down completely.
After that switching works and no further errors until i restart Pilot again.
patoo77 wrote: This is what I am currently working on:
Huge interface improvements. I am getting rid of all the swipe features. Many people would prefer standard controls. Here is a work in progress (tell me
That's a pity, because it now actually starting to work. If you would ad a percentage in the slider while using it to indicate to which level you are setting the dimmer, this would make it easier to understand by people how it works. Also you should remove the "reverse" dimming if you slide from right to left, that is confusing as well.
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by dannybloe »

Just as long as you don't remove the indirectness of manipulation. That you first have to click on a device before you can change it. Don't remove that! That is what makes this UI better than the mobile dashboard interface of Domoticz itself. In Domoticz you could easily turn on/off switches by just scrolling through the list. It drove some family members mad and lights popped on in the bedrooms by accident while people where sleeping. No, I want it to be an intentional action and Pilot does this right imho. It would even be better if dimming is more discrete as well: instead of a slider give me a (popup-or-something)-panel with predetermined percentages (like 0-20-40-60-80-100). I never want any more fine-grained control of dimming values than this and switching from 20 to 80 percent is a matter of one click instead of a careful slide with a tiny slider on a tiny screen.

Keep up the good work!

And please please implement wifi geofencing additionally to gps, guess that's more accurate and less battery intensive: as soon as you have a local wifi connection send the 'i'm-home' switch command and vice versa. That way I am not registered as being at home when I am drinking coffee at the neighbors two houses away. On the other hand... what happens when suddenly the wifi is offline... well.. let's figure these corner cases out as soon as we have wifi-fencing ;-).
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
fantastrick
Posts: 6
Joined: Thursday 03 December 2015 8:35
Target OS: OS X
Domoticz version:
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by fantastrick »

[quote="fantastrick"]Thanks for the quick reply! Appreciated.
Just tried that, also did not work. Can it be something to do with the username/pass?
Do I have to do something in Domoticz to make it work?

**SOLVED** For some reason resetting the password (to the same it was) did the trick. Don't ask me why.
Bikey
Posts: 331
Joined: Sunday 22 February 2015 12:19
Target OS: Linux
Domoticz version: 2020.x
Location: Netherlands
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by Bikey »

dannybloe wrote:Just as long as you don't remove the indirectness of manipulation. That you first have to click on a device before you can change it. Don't remove that!
I totally agree. As it now works it is brilliant. You can scroll through the list without accidentally swichting, but still without opening an extra menu, switch a lamp on or off by just giving it a big swipe.
dannybloe wrote: It would even be better if dimming is more discrete as well: instead of a slider give me a (popup-or-something)-panel with predetermined percentages (like 0-20-40-60-80-100). I never want any more fine-grained control of dimming values than this and switching from 20 to 80 percent is a matter of one click instead of a careful slide with a tiny slider on a tiny screen.
Again: what a like it that now it is NOT necessary to make an extra "tap" to open another tiny slider or "dial" to change the dimming percentage.
Just swiping to the right to set a dimming value works great like is implemented now. Only functional change should be, as I said earlier, that swiping it completely to the right should send an "On" command not a "Dim to 100%" if this is done while the lamp is off. That way the lamp will return from Off to On, maintaining its previous dimming state.

Only thing you could add design-wise is to display (in the slider bar) either a continuous percentage or steps like 0, 20-40-60-80-100%, while swiping proportionally.
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by dannybloe »

Again: what a like it that now it is NOT necessary to make an extra "tap" to open another tiny slider or "dial" to change the dimming percentage.
Just swiping to the right to set a dimming value works great like is implemented now. Only functional change should be, as I said earlier, that swiping it completely to the right should send an "On" command not a "Dim to 100%" if this is done while the lamp is off. That way the lamp will return from Off to On, maintaining its previous dimming state.
Wow, I didn't even know this feature. It's great and I agree with you on this. What is a bit confusing for me is the visual to the left and right when you swipe left or right. I still can't figure out what I'm seeing. When I swipe to the right I know I am increasing the dimming level (increase amount of light) but the indicator that appears at the left side is moving downwards which suggests to me that something is becoming less instead of more. I would expect the growing behavior of the visual to increase instead of decrease. The same for swiping to the left but the other way around. I notice that the left side has a different brightness than the left but I still don't see the link. My suggestion is to not show this graphical visual but simply display the percentage amount going up or going down. That way you never have the confusion. So when you swipe to the right you see the percentage on the left side going up and vice versa.

Just my 2 cents :).
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
Bikey
Posts: 331
Joined: Sunday 22 February 2015 12:19
Target OS: Linux
Domoticz version: 2020.x
Location: Netherlands
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by Bikey »

Yes, it took a while for me too to find this out.
Indeed confusing that when swiping to the right it look like something is decreasing because the bar moves from top to bottom (the darker green is increasing, which is a clue), while actually it is increasing the dimming level.
Swiping from right to left is even more confusing, and IMHO, could be totally removed as a dimming action, leaving the on/of functionality.
My suggestion is to not show this graphical visual but simply display the percentage amount going up or going down.
Exactly my point. It could be combined, but then the graphic should "grow" dark green from bottom to top when sliding to the right.
This should be the behaviour when the lamp is already On.
If the lamp is Off it should work like with non-dimmable lamps: swiping for say > 1 cm it should display the "Checkmark" and then switch the lamp on.
Swiping to the left should always switch the lamp off (red box with "checkmark") and never show a dimmer.
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by dannybloe »

Well, swiping from the left and/or from the right isn't so wrong to me. When I swipe from right to left I expect a decrease and vice versa. In other words: it is always relative to the current level. If you can only swipe in one direction you have an absolute system: you always start from 0% and swipe to the desired level. It is not necessarily worse than relative but it's different. What you lose with absolute swiping is that you cannot swipe just to increase or decrease a little.
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
patoo77
Posts: 297
Joined: Thursday 17 July 2014 18:20
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Paris, France
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by patoo77 »

Thanks for discussing on the subject :)
As far as I can see, it is difficult that have one interface that fits all the needs.

The swipe was one of the main things differenciating Pilot from other standard apps. However, results were mixed, as many people never figured out how to use it properly:
  • User side: Do I have to switch right or left to open/close my lights
  • User side: Unclear how the sliding works for slider
  • Dev side: much more difficult to make this kind of interface work elsewhere (notification center, watch, TV)
    Example: here is the notification center I'm working on. On this case, swipe wouldn't work: http://cl.ly/2M0W3j1f331Q

    Some users do enjoy the swipe feature, but I feel like it would be so much simpler to have proper controls -> everyone knows what is a on/off switch and how it is supposed to work. Same goes for the sliders. "It just works".
    I could also make a mix: one on/off switch button + swipe for dimming levels.

    Regarding the "not triggering by accident" argument, it is an interesting usecase. I wonder if this could be solved by adding a security layer to some devices.
    I feel like for some devices, it is much more convenient to have the controls right on the interface. However, for some others, some sort of validation might be required first (through touch ID, password, or user-input).

    Regarding wifi-fencing, I already thought about it, I think it won't be reliable enough.
    Since geofencing is a background process, the iOS system can kill it at any given time --> if the process is killed during or before the geofencing is occuring, then the app will never know that you are on your home wifi. :/ iOS is bitchy about these kind of things.

    Lots of stuff covered here, let me know what do you guys think about it.
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by dannybloe »

Regarding the "not triggering by accident" argument, it is an interesting usecase. I wonder if this could be solved by adding a security layer to some devices.
I feel like for some devices, it is much more convenient to have the controls right on the interface. However, for some others, some sort of validation might be required first (through touch ID, password, or user-input).
I think this is a totally different thing. Why would you have security again if you are already logged in and you already see what is visible for your account? I would be really annoyed if I had to touch-whatever or enter some code first before I could turn on a light. For me the sole reason why I use Pilot is because of this 2-step interface. First step is tell that I want to change, second is do the change. And the first step should be as simple as possible preventing accidental changes.
The swipe was one of the main things differenciating Pilot from other standard apps. However, results were mixed, as many people never figured out how to use it properly:
  • User side: Do I have to switch right or left to open/close my lights
  • User side: Unclear how the sliding works for slider
  • Dev side: much more difficult to make this kind of interface work elsewhere (notification center, watch, TV)
If you ask me, I'd keep mostly for what it is right now: you tap on a device, it slides open and it shows the standard UI controls (that part is different), standard button, slider whatever so everybody can recognize the controls and predict how to use it. On top of that, for the daredevils and experts or whatever, make a setting to have the current swipe behavior active (and show a percentage instead of the funny gradient that goes up/down while sliding, coz that's unnecessary confusing imho). And... make a setting not to have a dimmer-sliders at all but a small panel with fixed percentages ;-) .
Regarding wifi-fencing, I already thought about it, I think it won't be reliable enough.
Since geofencing is a background process, the iOS system can kill it at any given time --> if the process is killed during or before the geofencing is occuring, then the app will never know that you are on your home wifi. :/ iOS is bitchy about these kind of things.
Well, we already know it isn't that reliable but isn't that applicable for both wifi and gps? One should never use this for security purposes anyway (use some keycode/passlock system for that). For me that would be totally acceptable. In fact, in the past year at least, I never had a situation where Pilot wasn't able to do its proper geofencing work. Wifi-check simply makes the radius smaller, more reliable than GPS. Perhaps it could even be a combination of both:
  • I am not at home and I approach home: only when there is a wifi connection to my own access point(s!) then I'm reported home. GPS is not used in that case.
  • I am at home and I leave: whichever system is first in reporting that I am away registers me to away in Domoticz, either wifi signal is lost or GPS notices that I am away. Since wifi may take a while to figure out that it is out-of-reach. GPS could be faster. Well, doesn't really matter in this case.
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
Bikey
Posts: 331
Joined: Sunday 22 February 2015 12:19
Target OS: Linux
Domoticz version: 2020.x
Location: Netherlands
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by Bikey »

patoo77 wrote: Some users do enjoy the swipe feature, but I feel like it would be so much simpler to have proper controls -> everyone knows what is a on/off switch and how it is supposed to work. Same goes for the sliders. "It just works".
I could also make a mix: one on/off switch button + swipe for dimming levels.
If you implement it as I suggested (only dimming when lamp is on, and only swiping left to right, clearly visibly percentage) I think it gets much more intuitive.
A combination is a second best alternative. Still much better than these - always to small - sliders.
patoo77 wrote: Regarding the "not triggering by accident" argument, it is an interesting usecase. I wonder if this could be solved by adding a security layer to some devices.
I feel like for some devices, it is much more convenient to have the controls right on the interface. However, for some others, some sort of validation might be required first (through touch ID, password, or user-input).
I agree with dannybloe, that adding a security layer is not the way to prevent accidental switching! Don't leave the principle that you should be able to switch a lamp with a minimum of clicks! There are already many steps to switch on your phone, unlock it, start the App. A widget is a nice add on!
patoo77 wrote: Regarding wifi-fencing, I already thought about it, I think it won't be reliable enough.
Since geofencing is a background process, the iOS system can kill it at any given time --> if the process is killed during or before the geofencing is occuring, then the app will never know that you are on your home wifi. :/ iOS is bitchy about these kind of things.
Geofencing or proximity applications will probably work best with BLTE-beacons I think: iOS handles this quitewell while preserving battery and also quite precise. Unfortunately the beacons are still a bit pricey.
pvm
Posts: 550
Joined: Tuesday 17 June 2014 22:14
Target OS: NAS (Synology & others)
Domoticz version: 4.10538
Location: NL
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by pvm »

I think it might take too long to connect to WiFi. I will keep using GPS geofencing
Synology NAS, slave PI3, ZWave (Fibaro), Xiaomi zigbee devices, BTLE plant sensor, DzVents, Dashticz on tablet, Logitech Media Server
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by dannybloe »

pvm wrote:I think it might take too long to connect to WiFi. I will keep using GPS geofencing
What makes you think that and what do you use it for? My wifi connecting is very fast and already connects when I am still in my car on the driveway. Of course it doesn't have to be either/or. For what I want to use it I need accuracy. Right now, when I am at the end of the street my house thinks I am at home just because I am within the given radius (already set to the smallest amount).
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
patoo77
Posts: 297
Joined: Thursday 17 July 2014 18:20
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Paris, France
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by patoo77 »

@Bikey
The swipe implementation you're suggesting would work just fine on dimming lights. However I also have to consider all other types: blinds, stop-blinds, dimming blinds, RGB lights that have dimming+RGB selection, etc.

@dannybloe
Regarding wifi-geofencing, it is just not possible to implement it that way.
I can't monitor wifi access in the background. I considered adding beacon support in the past, but AFAIK there is no standard and it still costs a lot of money.


One more thing, many people asked for graphs. In the current implementation, there is no place for it, I would have to make it available after the user taps on a cell, and opening a new view.
Right now, when you tap on a cell, it expands to display the controls.
By adding more and more stuff, it will become crowded.

So what I would like to do is display a new view when the user taps a cell. That way, I can display more info:
* User controls
* Make a device favorite
* Add a device to a room
* Show graphs
* Etc.
Here is an example of such interface: https://dl.dropboxusercontent.com/u/813 ... immer.html

In any usecase, the swipe feature seems hard to keep in place. It won't let me make the app better without any tradeoff.
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by dannybloe »

patoo77 wrote:
@dannybloe
Regarding wifi-geofencing, it is just not possible to implement it that way.
I can't monitor wifi access in the background. I considered adding beacon support in the past, but AFAIK there is no standard and it still costs a lot of money.
Ah, well, that's a pity then.
patoo77 wrote: One more thing, many people asked for graphs. In the current implementation, there is no place for it, I would have to make it available after the user taps on a cell, and opening a new view.
Right now, when you tap on a cell, it expands to display the controls.
By adding more and more stuff, it will become crowded.

So what I would like to do is display a new view when the user taps a cell. That way, I can display more info:
* User controls
* Make a device favorite
* Add a device to a room
* Show graphs
* Etc.
Here is an example of such interface: https://dl.dropboxusercontent.com/u/813 ... immer.html

In any usecase, the swipe feature seems hard to keep in place. It won't let me make the app better without any tradeoff.
Do you suggest that you slide in a new view as soon as you click on a device with all the controls as shown in the sample image? I guess what I would do is: you click on a device, it slides open (as it is now), there you see the base controls (on/off/sliders etc) and an extra link that opens a new full screen view (slide in with a back button on the top-left) with all the extras like charts, favs, history etc. That way, for normal operation like dimming a couple of lights in a row, you don't lose the context of the list of devices. The panel you suggest is really large and I don't need all that information when I just want to do some quick device manipulation. For me, doing analysis like chart inspection, history inspection is a complete different use-case than simply manipulating which I do a lot more often so I don't want it to take all that screen real-estate when it is not needed.

Just my 2 cents ;-)
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
Bikey
Posts: 331
Joined: Sunday 22 February 2015 12:19
Target OS: Linux
Domoticz version: 2020.x
Location: Netherlands
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by Bikey »

patoo77 wrote:@Bikey
The swipe implementation you're suggesting would work just fine on dimming lights. However I also have to consider all other types: blinds, stop-blinds, dimming blinds, RGB lights that have dimming+RGB selection, etc.
...
Here is an example of such interface: https://dl.dropboxusercontent.com/u/813 ... immer.html

In any usecase, the swipe feature seems hard to keep in place. It won't let me make the app better without any tradeoff.
Mmm, it would be a pity to lose the swipe, but if there is no other way please adhere one principle:
the basic controls being on/of or up/down/stop and setting the dim-level or shutter-level should be available with a single tap, because that is what you use 95% of the time.
All other functions (like changing color, adding to favorites) can then be made visable after tapping on the control, or can be put either on a different page (graphs, adding devices to rooms).

If you have to first tap on a cell before you can swith a lamp/on off, like suggested in you screenshot, would be very cumbersome.
dannybloe
Posts: 1355
Joined: Friday 29 August 2014 11:26
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Ermelo
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by dannybloe »

Now that I'm using it more often I notice a missing feature (two actually):

First of all I miss the ability to quickly see which lights (devices) are on. In the lists, the current value is dimmed and there is no way to distinguish on from off. I use the web version to quickly check if all the lights are off. It's a visual scan.

Second: I have an EvoHome system but I cannot set the temperatures for the different (heating) zones (setpoint). I'd love to be able to do that as well.

Cheers,
Danny
Creator dzVents - RPi3, loads of zwave devices, esp8266, evohome.
patoo77
Posts: 297
Joined: Thursday 17 July 2014 18:20
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Paris, France
Contact:

Re: Pilot: Home Automation Control (iOS app)

Post by patoo77 »

Hi guys,

Wanna thank you again for all the feedback you keep giving me, it's very helpful and actually helps me improve Pilot.

A little update on what I'm working on for the next version (most likely 1.6.0):
* I'm keeping the swipe interface, and improving it A LOT for dimming devices. As request, a level will now appear when you start sliding the cell.
* Adding support for multiple locations
* Adding a widget in the notification center
* iPad and watch version (coming later, lots of work to be done there)
* NL localization
* Swedish localization
* Invert switch state on geofencing
* Custom geofencing notification text

Beta coming soon. If you want to sign in, please pm me. ;)

Some screenshots:
https://dl.dropboxusercontent.com/u/813 ... .39.46.png https://dl.dropboxusercontent.com/u/813 ... .43.31.png
https://dl.dropboxusercontent.com/u/813 ... .50.32.png
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest