Code Monkey home page Code Monkey logo

home-assistant-android's People

Contributors

apo-mak avatar maxr1998 avatar naofum avatar swbradshaw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

home-assistant-android's Issues

Conversion Error

Stack trace attached. It also included some of the hass state data, but looks like it was truncated. This should hopefully help track it down, though. Using version 0.2 from F-Droid.

D/HassService( 6934): 3: {"id":3,"success":true,"type":"result","result":[{"state":"on","entity_id":"group.automation_lights","last_updated":"2017-04-18T12:00:05.849019+00:00","last_changed":"2017-04-18T12:00:05.849019+00:00","attributes":{"friendly_name":"Bird Room","entity_id":["light.bird_room_level_6_0"],"order":3}},{"state":"on","entity_id":"automation.suspend_kodi_after_inactivity","last_updated":"2017-04-16T18:04:26.605838+00:00","last_changed":"2017-04-16T18:04:26.605838+00:00","attributes":{"friendly_name":"Suspend Kodi after inactivity","hidden":true,"last_triggered":null}},{"state":"on","entity_id":"light.zwave_micro_dimmer_level_5_0","last_updated":"2017-04-16T18:04:26.840153+00:00","last_changed":"2017-04-16T18:04:26.840153+00:00","attributes":{"friendly_name":"Zwave Micro Dimmer Level","supported_features":33,"brightness":70,"node_id":5}},{"state":"on","entity_id":"automation.flic_all_lights_off","last_updated":"2017-04-16T18:04:26.590318+00:00","last_changed":"2017-04-16T18:04:26.590318+00:00","attributes":{"friendly_name":"Flic All Lights Off","hidden":true,"last_triggered":null}},{"state":"on","entity_id":"light.living_room_floor","last_updated":"2017-04-18T21:38:16.975720+00:00","last_changed":"2017-04-18T21:37:48.807452+00:00","attributes":{"xy_color":[0.4347,0.4032],"friendly_name":"Living Room Floor","color_temp":328,"effect_list":["colorloop","random"],"supported_features":127,"brightness":254,"rgb_color":[255,215,139]}},{"state":"off","entity_id":"switch.kodi_pc","last_updated":"2017-04-16T18:04:19.202474+00:00","last_changed":"2017-04-16T18:04:19.202474+00:00","attributes":{"friendly_name":"Kodi PC"}},{"state":"on","entity_id":"automation.finish_party_mode","last_updated":"2017-04-16T18:04:26.592102+00:00","last_changed":"2017-04-16T18:04:26.592102+00:00","attributes":{"friendly_name":"Finish Party Mode","hidden":true,"last_triggered":null}},{"state":"off","entity_id":"media_player.upstairs_bedroom","last_updated":"2017-04-17T03:07:30.765914+00:00","last_changed":"2017-04-17T03:07:30.765914+00:00","attributes":{"friendly_name":"Upstairs Bedroom","supported_features":21437}},{"state":"off","entity_id":"input_boolean.activate_snapcast_chromecast","last_updated":"2017-04-16T18:04:16.093998+00:00","last_changed":"2017-04-16T18:04:16.093998+00:00","attributes":{}},{"state":"closed","entity_id":"group.garage_door","last_updated":"2017-04-18T03:18:41.051336+00:00","last_changed":"2017-04-18T03:18:41.051336+00:00","attributes":{"friendly_name":"Garage Door","entity_id":["cover.garage_door__7_0"],"order":4}},{"state":"on","entity_id":"automation.finish_snapcast","last_updated":"2017-04-16T18:04:26.595372+00:00","last_changed":"2017-04-16T18:04:26.595372+00:00","attributes":{"friendly_name":"Finish Snapcast","hidden":true,"last_triggered":null}},{"state":"Ready","entity_id":"zwave.controller_1","last_updated":"2017-04-16T18:04:35.267655+00:00","last_changed":"2017-04-16T18:04:35.267655+00:00","attributes":{"friendly_name":"Controller","query_stage":"Complete","neighbors":[8,3,5,6],"is_ready":true,"is_zwave_plus":false,"capabilities":["listening","primaryController","beaming"],"is_info_received":true,"node_id":1,"is_failed":false,"is_awake":true,"max_baud_rate":40000}},{"state":"on","entity_id":"automation.suspend_kodi_when_chromecast_active","last_updated":"2017-04-18T02:28:30.917592+00:00","last_changed":"2017-04-16T18:04:26.607493+00:00","attributes":{"friendly_name":"Suspend Kodi when Chromecast active","hidden":true,"last_triggered":"2017-04-18T02:28:30.917394+00:00"}},{"state":"on","entity_id":"automation.dim_bedroom_light_for_tv_time","last_updated":"2017-04-17T02:33:56.008071+00:00","last_changed":"2017-04-16T18:04:26.612766+00:00","attributes":{"friendly_name":"Dim bedroom light for TV time","last_triggered":"2017-04-17T02:33:56.007911+00:00"}},{"state":"on","entity_id":"automation.turn_on_bedroom_light_at_night","last_updated":"2017-04-17T23:33:35.016062+00:00","last_changed":"2017-04-16T18:04:26.627735+00:00","attributes":{"friendly_name":"Turn on bedroom light at night","last_triggere
E/HassService( 6934): Error in onMessage()
E/HassService( 6934): java.lang.IllegalArgumentException: Invalid primitive conversion from double to int
E/HassService( 6934): at java.lang.reflect.Field.set(Native Method)
E/HassService( 6934): at com.afollestad.ason.Util.setFieldValue(Util.java:230)
E/HassService( 6934): at com.afollestad.ason.ClassCacheEntry.set(ClassCacheEntry.java:63)
E/HassService( 6934): at com.afollestad.ason.AsonSerializer.deserialize(AsonSerializer.java:168)
E/HassService( 6934): at com.afollestad.ason.AsonSerializer.deserialize(AsonSerializer.java:180)
E/HassService( 6934): at com.afollestad.ason.Ason.deserialize(Ason.java:388)
E/HassService( 6934): at io.homeassistant.android.api.HassUtils.extractEntitiesFromStateResult(HassUtils.java:32)
E/HassService( 6934): at io.homeassistant.android.HassService$1.onRequestResult(HassService.java:153)
E/HassService( 6934): at io.homeassistant.android.HassService$HassSocketListener.onMessage(HassService.java:227)
E/HassService( 6934): at okhttp3.internal.ws.RealWebSocket.onReadMessage(RealWebSocket.java:307)
E/HassService( 6934): at okhttp3.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.java:222)
E/HassService( 6934): at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:101)
E/HassService( 6934): at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:262)
E/HassService( 6934): at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:201)
E/HassService( 6934): at okhttp3.RealCall$AsyncCall.execute(RealCall.java:135)
E/HassService( 6934): at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
E/HassService( 6934): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
E/HassService( 6934): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
E/HassService( 6934): at java.lang.Thread.run(Thread.java:818)

Use data binding

This app should use data binding to make the UI code much cleaner, if possible.

How about hostnames?

In the error messages only IPs ares mentioned, but whats about hostnames?
Why not name it "address" or something like that?

Invalid password on current master branch

Downloaded the release candidate version and it works, but when building from the current master branch I am not able to authenticate, I get a toast indicating my password is invalid.
Not using basic auth.
I am accessing HA remotely through an Nginx reverse proxy using lets-encrypt certs.

Also, I am not seeing a persistent notification indicating a login failure which I do see on the RC version when actually using a bad password.

Let me know if there is anything else I should try.

Also, I just started a new job as an Android developer so I plan on following this pretty closely and attempting to contribute where/when I can.

App is showing a white screen with no way to get front end back

Not sure what caused this, possibly opening the app while HASS was restarting (just a guess) but now when I open it, it just shows a blank white screen (with the blue home assistant header). Pressing refresh or forcequitting the app doesn't fix it. Short of uninstalling/reinstalling, it seems to be no way to get the front end back.

Clarify the "Home Assistant URL/IP" login field

I have my HA instance set up with it's own domain and LetsEncrypt SSL certs that work fine in the browser. When I put that URL in the "Home Assistant URL/IP" field on the app login screen and use the same password but all I get is Connection failure: Invalid password!, which isn't surprising since my username is nowhere in the "Home Assistant URL/IP".

How is one supposed to log in correctly? This should also be presented in the login UI. Preferably, the UI includes different fields for the different pieces of data.

Translate button is not working

The translate button in the settings is not working.
It seems to get the pressed state, but nothing happens.

I'm using hass-1.0-phone-fdroid.apk

Provide pure-floss build flavor

Recent version added non-free dependencies, e.g. play-services from compile "com.google.android.gms:play-services-location:10.2.4". Please provide a build flavor that replaces or removes this.

Gradle wrapper is missing

The Gradle wrapper is missing from the repository (gradlew/gradlew.bat). It makes the build without Android Studio much more complicated.

Find a better name

In accordance to #38, we need a new name for this app. Possible variations:

  • HassClient
  • Hass Client
  • HassDroid
  • Client for Home Assistant (too long?)
  • HassControl
  • Control for Home Assistant (also too long?)
  • other ideas?

Also, the name needs to indicate the independence from the Home Assistant project and should have their approval.

(cc @balloob)

Some icons aren't displayed

It seems when API endpoint is unreachable? the icon files in storage are broken. We have to detect that and delete them again then.

Using self signed certificate only shows "Connection errror: Invalid IP, or is the server offline?"

Hello,

I set up a self signed certificate as shown here:

https://home-assistant.io/docs/ecosystem/certificates/tls_self_signed_certificate/

Connecting to my Homeassistant instance only leads to this error after clicking "connect" on the login page. I set a password too. The web ui works flawlessly. I installed 1.0 from F-Droid on a BQ X5 Plus running Android 7.1.1. Home Assistant is on version 0.54.0.

Nested groups not supported?

Here's my layout of groups;

Default View
└── Parent
    ├── Child 1
    │   ├── Switch 1
    │   └── Switch 2
    └── Child 2
        ├── Switch 3
        └── Switch 4

And what it looks like in HassDroid;

HassDroid

And the normal HASS frontend;

HASS

I guess HassDroid just doesn't support nested groups?

Better indicate that this app is unofficial

Let me start with that I appreciate the work you have done on this app. However, it is not clear enough from the README or F-Droid listing that this is an unofficial app. Please:

  • Don't use the Home Assistant logo for your app
  • Don't use the Home Assistant name for your app
  • Don't link to the Home Assistant website as "website"
  • Update the description to mark it more clearly that this is an unofficial app

Android battery tracking

Send battery level to the Hass server every ~5-10 minutes, using AlarmManager or JobScheduler API.

Update: better do that via Intents.

Support HTTP basic auth

I'm sure I'm not the only user that makes use of nginx/Apache reverse proxies secured by http basic auth. Any chance of this getting implemented?.

Add quicksettings tile

The quicksettings tile might open a dialog which shows a preconfigured set of actions, probably only supporting switch view types and sensors.

Build new Version

When I build myself with Android Studio the app and try to install the apk it fails with "damaged" apk, quite dont kown why.
So could you do an offical new Build with all the commits..and maybe update f-droid package as well then.

G930FXXU2DRA9
Android 7.0

Usage of location and battery tracking

How can I use the location and battery tracking of this app.
I have activated it within the app, but it doesn't appear in the known devices.
As of the source code its using device_tracker.see
But I can not find any documentation how to set it up.

I'm using hass-1.0-phone-fdroid.apk with Home Assistant
0.50.1.

App won't sign in again - User gets white screen

This bug happened after your changes on March 1.

When I launch app now all I see is a white screen.

Logs say:

03-20 21:13:30.407 13793-13811/io.homeassistant.android D/HassService: {"ha_version": "0.40.0", "type": "auth_ok"}
03-20 21:13:30.411 13793-13811/io.homeassistant.android D/HassService: {"success": false, "id": null, "type": "result", "error": {"code": 2, "message": "Message incorrectly formatted: not a valid value for dictionary value @ data['type']. Got 'auth'\nrequired key not provided @ data['id']. Got None"}}
03-20 21:13:30.412 13793-13811/io.homeassistant.android D/HassService: {"success":false,"id":null,"type":"result","error":{"code":2,"message":"Message incorrectly formatted: not a valid value for dictionary value @ data['type']. Got 'auth'\nrequired key not provided @ data['id']. Got None"}}

If I wipe data, and run app again, the app prompts for URL / password. I can login and the app works fine. After killing the activity, it happens again. I have to tap the refresh icon in the header twice, and it will show the URL/IP and Password prompt again.

Dark theme / Tasker integration / certificates

I would love to see an optional dark theme and/or the ability to use user-defined themes from Home Assistant.

Also, while you can already access HA from Tasker via MQTT / web API, it's a hassle to figure out and set up. It would be great if this app would provide a Plugin that exposes listeners for events/state changes to use in Tasker Profiles and lists services/entities to use in Tasker Tasks.

Finally, I'm hoping there is support for CA certificates. Chrome gave me lots of problems with certificates and Firefox flat-out would not use them, so I gave up on the idea. I didn't check for support in this app (because I'm not using them anymore), but I would love to go back to using certificates if possible.

General feedback

Thank you for the app, that's great. I'd like to give some general feedback:

  • 1st, it works with no serious issues ^^
  • apk name should be less generic. There's no "save as..." when you download with android, so the file should be "home-assistant-client-0_2.apk" or similar.
  • In intial setting dialog it's a bit unclear what port/protocol is used when one enters the ip address. I suggest to accept only valid URLs
  • Password should be optional
  • Optionally, basic authentication should be supported
  • There's no way to change settings after first connect (need to uninstall/reinstall to change ip)
  • The main screen should be more compact. Maybe more than one group per row should be allowed. I have one tablet mountet at the kitchen wall that shows my house status - it would be great if all would fit on it
  • Home Assistant allows groups with "view:yes" as individual screens. It would be nice to select one of these in the settings which is displayed instead of default_view. Then I could create a special tablet group with reduced amount of data
  • Lights with brightness control should have a slider in addition to the switch and should show the current brightness
  • Sun-Item only shows the "Sun" label, no icon, no information
  • Item icons are missing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.