Valetudo Companion App for Android

Related tags

App valetudo
Overview

Valetudo Companion (Android)

This app listens for Bonjour broadcasts of recent (2021.07.0++) Valetudo instances on your network and will display each one in a list to make it easy to access them without needing to set up static DHCP leases or looking into your routers webinterface.

In the future, this might also be used to streamline the provisioning process of a robot with Valetudo installed.

Note that this app is completely optional and only exists to make Valetudo more accessible.

This app will not provide any UI to interface with Valetudo during normal operation. Basically, you can think of it as an automatically updating bookmark + some wizard stuff.

Comments
  • fix: long manufacturer and model name not being displayed entirely, feat: webserver opening in Custom Tabs

    fix: long manufacturer and model name not being displayed entirely, feat: webserver opening in Custom Tabs

    Type of change

    Type A:

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [x] UI Feature
    • [ ] Refactor/Code Cleanup

    Description (Type A)

    Fixed manufacturer and model TextView not being displayed entirely if too long, made discovered_instance_list_item_layout responsive Original |    New    :-------------------------:|:-------------------------: Screenshot_2021-10-02-20-19-08-151_cloud valetudo companion | Screenshot_2021-10-02-20-18-16-122_cloud valetudo companion

    Added webserver opening in Custom Tabs (if supported, see https://developer.chrome.com/docs/android/custom-tabs/)

    hacktoberfest-accepted 
    opened by geckoflume 5
  • Allow user to enter IP manually

    Allow user to enter IP manually

    Since some of my "IoT" stuff is in a separated subnet and passes a router, zeroconf with UDP broadcasts doesn't really work. I'd need to enter the IP manually to use this app. I think it could be integrated as some sort of "advanced" option.

    question 
    opened by TheAssassin 4
  • Add Dependabot

    Add Dependabot

    To keep dependencies up-to-date

    I started doing this for Catima recently, it works nicely.

    If wanted I could also set

        allowed_updates:
          - match:
              update_type: "security"
    

    to only allow security updates, but not sure how well that works with gradle.

    What do you think, @Hypfer?

    opened by TheLastProject 4
  • Crash if no browser is installed to handle the `browserIntent`

    Crash if no browser is installed to handle the `browserIntent`

    Valetudo Companion will crash here if no browser (or other app) is present to handle http::

    https://github.com/Hypfer/valetudo-companion/blob/f745b08ae29c91f549355aab8335568561934286/app/src/main/java/cloud/valetudo/companion/MainActivity.kt#L57-L62


    I assume it will require something like this: https://developer.android.com/training/basics/intents/sending#no-app-available

    There should probably be a descriptive error and a copyable-URL should be shown for manual use.

    bug 
    opened by JayFoxRox 2
  • add robot by ip

    add robot by ip

    I have my robot in an isolated subnet which does not allow bonjour. I know the IP I want to add a robot by simply hardcosong it's IP instead of relying on auto discovery.

    opened by fireto 1
  • SDK 33: New runtime permission for nearby Wi-Fi devices

    SDK 33: New runtime permission for nearby Wi-Fi devices

    Valetudo Companion currently targets SDK level 30 (Android 11).

    SDK level 33 (Android 13) introduces new permissions for scanning for Wi-Fi access points: NEARBY_WIFI_DEVICES. ACCESS_FINE_LOCATION is no longer necessary. See https://developer.android.com/about/versions/13/behavior-changes-13#nearby-wifi-devices-permission for more info.

    Preferably, updating the targetSdk should be done before November 2022 so that releasing updates onto Google Play isn't blocked. It should definitely be done before November 2023 so the app doesn't disappear from Google Play: https://support.google.com/googleplay/android-developer/answer/11926878

    enhancement 
    opened by TheLastProject 1
  • Scanning Problem:

    Scanning Problem: "No Valetudo found on this network"

    Hi, I'm new to valetudo and robots. I installed valetudo on my L10Pro. I can connect to robots own wifi network and ssh into it. But when I started valetudo on my phone (tried both FDroid and GPlay), I chose 'Use App', selected robots wifi network and connected. The connection is confirmed by voice of robot. But then I only see on my phone: 'scan for valetudo / No Valetudo found on this network'. What I'm doing wrong? I also tried to connect via browser to IP of robot, but there is no webserver online. Via nmap I verified all open ports on robot:

    $ nmap -p- -sV --version-all --reason -v 192.168.5.1
    Starting Nmap 7.80 ( https://nmap.org ) at 2021-12-26 11:58 CET
    NSE: Loaded 45 scripts for scanning.
    Initiating Ping Scan at 11:58
    Scanning 192.168.5.1 [2 ports]
    Completed Ping Scan at 11:58, 0.00s elapsed (1 total hosts)
    Initiating Parallel DNS resolution of 1 host. at 11:58
    Completed Parallel DNS resolution of 1 host. at 11:58, 0.03s elapsed
    Initiating Connect Scan at 11:58
    Scanning _gateway (192.168.5.1) [65535 ports]
    Discovered open port 53/tcp on 192.168.5.1
    Discovered open port 22/tcp on 192.168.5.1
    Completed Connect Scan at 11:58, 4.23s elapsed (65535 total ports)
    Initiating Service scan at 11:58
    Scanning 2 services on _gateway (192.168.5.1)
    Completed Service scan at 11:58, 6.01s elapsed (2 services on 1 host)
    NSE: Script scanning 192.168.5.1.
    Initiating NSE at 11:58
    Completed NSE at 11:58, 0.02s elapsed
    Initiating NSE at 11:58
    Completed NSE at 11:58, 0.01s elapsed
    Nmap scan report for _gateway (192.168.5.1)
    Host is up, received conn-refused (0.013s latency).
    Not shown: 65533 closed ports
    Reason: 65533 conn-refused
    PORT   STATE SERVICE REASON  VERSION
    22/tcp open  ssh     syn-ack Dropbear sshd 2020.81 (protocol 2.0)
    53/tcp open  domain  syn-ack dnsmasq 2.80
    Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
    
    Read data files from: /usr/bin/../share/nmap
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 10.67 seconds
    
    
    $ ssh [email protected]
    --------------------------------------------------------------
        _   _   _                        _     _                  
       / \ | |_| |__   ___ _ __   __ _  | |   (_)_ __  _   ___  __
      / _ \| __| '_ \ / _ \ '_ \ / _` | | |   | | '_ \| | | \ \/ /
     / ___ \ |_| | | |  __/ | | | (_| | | |___| | | | | |_| |>  < 
    /_/   \_\__|_| |_|\___|_| |_|\__,_| |_____|_|_| |_|\__,_/_/\_\
                                                                  
    --------------------------------------------------------------
     Athena Linux (p2029_release)
    --------------------------------------------------------------
    
    build with dustbuilder (https://builder.dontvacuum.me)
    Sat 25 Dec 2021 04:24:04 PM UTC
    1105
    [root@p2029_release:~]# 
    

    I think there should be a port open for some kind of webservice to connect companion app? Did I miss something during installation? Thanks in advance Tom

    invalid 
    opened by gtom 1
  • Allow provisioning of new Robots

    Allow provisioning of new Robots

    As

    • connecting to the robots AP
    • disabling mobile data
    • telling Android that you really want to be connected to that AP even though it has no internet
    • figuring out the correct IP for the robot
    • typing http://192.168.8.1 into the browser on your phone
    • hoping it doesn't redirect you to https://192.168.8.1
    • Ignoring the fact that Valetudo polling the robots state doesn't work
    • Navigating to Settings > Wifi
    • Entering the Credentials

    isn't exactly straightforward, the idea here would be to let this app do most of this.

    Namely

    • Look for the gateway IP of the wifi the phone is connected to
    • Check if there's a Valetudo responding on said IP
    • Display a found unprovisioned Valetudo instance
    • Have some kind of basic form where you type in SSID + Password which then calls the Valetudo REST API for the WifiConfigurationCapability
    • Done

    Further enhancements could include

    • Connecting to the robots AP via the App
    • Maybe scanning for 2.4ghz wifi networks to offer some autocomplete

    Note that installing a rooted firmware is out of scope for this feature. This assumes that there already is a Robot with Valetudo on it which isn't connected to any wifi network just yet.

    Entering this wizard(?) could be done with like a plus sign on the top right of the main screen or something like that.

    enhancement 
    opened by Hypfer 1
  • Fix requesting permissions

    Fix requesting permissions

    ActivityCompat.shouldShowRequestPermissionRationale only returns true when Android decides that the user needs extra explanation to understand why they need to grant the permission. It shouldn't be used as a check for "should we ask for the permission".

    opened by TheLastProject 0
  • Wifi Provisioning failed with code 500

    Wifi Provisioning failed with code 500

    valetudo-companion finds my fresh flashed Roborock S5 ("Found unprovisioned robot: Roborock S5"). But after I filled in SSID and Password from the wifi the S5 should use, I always get the message "Wifi Provisioning failed with code 500" after tipping on "CONNECT" and nothing happens.

    I'm using valetudo-companion 2022.03.0 from f-droid.org.

    Is there a possibility to debug this issue?

    opened by IeP4nieF 0
  • Add fastlane

    Add fastlane

    Feel free to edit the short and full description.

    Please note short description can only be up to 80 characters.

    When you make a new release, please add a 2.txt to the changelog directory before tagging :)

    opened by TheLastProject 0
Owner
Sören Beye
Views, opinions, conclusions and other information should be understood as neither given nor endorsed by this person.
Sören Beye
An unofficial companion app for DJI's Digital FPV System.

fpv-dvca An unofficial companion app for DJI's Digital FPV System for Android devices. Plug your Android device into your Googles and watch a live fee

Matthias Urhahn 73 Dec 12, 2022
Open Source Magic: The Gathering life tracker and companion app

SpellCounter SpellCounter is a free, open source Magic: The Gathering life and counter tracking app Features 100% free with no ads Supports up to 8 pl

Sean Kenkeremath 3 Jul 27, 2022
Food Recipe App is an app for collecting most of food recipe in one app

Food Recipe App is an app for collecting most of food recipe in one app

Heba Elsaid 10 Dec 25, 2022
Arjun Naik 1 Apr 16, 2022
Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

MindOrks 1.2k Dec 29, 2022
Android-basics-kotlin-tip-time-app - Tip Time app from Android Basics in Kotlin

Tip Time Tip Time app from Android Basics in Kotlin at developers.google.com. It

Ramon Lima e Meira 0 Jan 2, 2022
Environmental-Monitoring-Android-App - This Android App is used to monitor environmental parameters data from remote sensors

Environmental-Monitoring-Android-App - This Android App is used to monitor environmental parameters data from remote sensors. Parameters includes but not limited to temperature, humidity, air quality, level of Ionizing radiation, ...

Francisco Pascal Elias TAMBASAFIDY 0 Jan 4, 2022
Library to change Android launcher App Icon and App Name programmatically !

AppIconNameChanger Change Android App launcher Icon and App Name programmatically ! Download Demo APK from HERE Kindly use the following links to use

Prabhakar Thota 587 Dec 29, 2022
HideDroid is an Android app that allows the per-app anonymization of collected personal data according to a privacy level chosen by the user.

HideDroid An Android App for preserving user privacy HideDroid is an Android app that allows the per-app anonymization of collected personal data acco

null 100 Dec 12, 2022
Water tracker app helps you with daily reminder to drink water. This app is just a trial to test and improve my android development skills.

?? About Me I am a self-thaught developer learning web and android development. This app is just a trial to test and improve my android development sk

Sinan Sonmez (Chaush) 28 Dec 17, 2022
Visual Studio App Center Sample App for Android

Visual Studio App Center Sample App for Android The Android application in this repository and its corresponding tutorials will help you quickly and e

Yourhomeplan 1 Oct 13, 2021
Android app for Ribbit, Broker API Reference App

Ribbit Reference Implementation (Android) The reference implementation for designing the Android user interface of a broker-dealer trading application

Alpaca 12 Nov 24, 2022
Android-Java-App - Notepad app with user and password. SQL Lite

DVNote2 App Android-Java-App Notepad app with user and password Application made in Android Studio with Java language and SQLite database. How does it

DViga 1 Nov 6, 2021
Android Bitcoin market app base on Jetpack Compose and MVI. The app displays current bitcoin market price and history price k-line charts.

compose-bitcoin Android Bitcoin market app base on Jetpack Compose and MVVM & MVI. Features Current bitcoin market price. K-line charts of history pri

Chen Pan 3 May 20, 2022
App for lesson 8 of the Android App Development in Kotlin course on Udacity

Connect to the Internet - Mars Real Estate This is the toy app for Lesson 8 of t

Michael Pessoni 1 Dec 28, 2021
Android Camper parking app written in kotlin for assignment 2 of Mobile App Development

Technical Report Splash view Application shows a splash screen when opened. The

Alvaro Sanchez Domingo 1 Sep 9, 2022
null 1 Jan 7, 2022
Quiz-App - An Android app which have some basic questions

Quiz-App An Android app which have some basic questions Start page Questions pag

Gururaj KL 3 Apr 21, 2022
A Task Management and Habit-building App, representating my journey in Android as well as my first Kotlin App. 🤗 ✨

A Task Management and Habit-building App, representating my journey in Android as well as my first Kotlin App. ?? ✨

Sarthak Musmade 8 May 8, 2022