Giter Club home page Giter Club logo

opendtu-react-native's Introduction

OpenDTU React Native App

This is a mobile app for the OpenDTU project by tbnobody. I am a OpenDTU user, but I am not affiliated with the original project. However, for API communication, I inspired my code by the original webapp.

Features

  • All the features of the original webapp
  • In-App updates (Update OpenDTU firmware without leaving the app)
  • Multi-Language support (Currently English and German, feel free to contribute more)
  • Dark Mode

Installation

There are signed .apk files inside the "Releases" tab. As of now, the is no plan to publish to Google Play store or F-Droid.
However, if you want to help with F-Droid, feel free to contact me. Thanks to @IzzySoft for having the app in their repo!

IzzyOnDroid Badge

Development

There are two branches. main is the stable branch, develop is the development branch. If you want to contribute, please create a pull request to develop.

Translations

Translations are inside a submodule located in src/translations/translation-files. This helps to have a better developer experience when working with Weblate.

Translation status

ToDo

  • App Icon
  • Splash Screen
  • Add iOS support (currently only tested on / implemented for Android)
  • Original Functionality
    • Settings
      • Network Settings
      • MQTT Settings
      • Inverter Settings
      • Security Settings
      • DTU Settings
      • Device Manager
      • Config Management
      • Firmware Upgrade with Firmware Browser
      • Device Reboot
    • Information
      • System Information
      • Network Information
      • NTP Information
      • MQTT Information
      • tbd if also console
    • Livedata
      • Today's Yield
      • Power
      • Temperature & Other stats (design tbd)

Testing

Stuff that I cannot test myself

  • Multi-Inverter per DTU

Early Screenshots

Screenshot_1702075921 Screenshot_1702075907 Screenshot_1702075885 Screenshot_1702075874 Screenshot_1702075762

opendtu-react-native's People

Contributors

commanderredyt avatar dependabot[bot] avatar

Stargazers

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

Watchers

 avatar  avatar

opendtu-react-native's Issues

Improve "Live Data" Tab

Maybe the "Live Data" tab could be improved by adding some more numbered values could be added like voltage, temperature, ....

And a forecast based on weather API (Kachelmann?) and historical data (from Prometheus) showing how much yield you can expect for the rest of the day :)

Create user-friendly statistics when a database is selected

  • "You have produced 20% more power than the past 7 days"
  • "Today you produced the most energy in the whole month"
  • "You should probably clean your panel on string 1"
    • This should be triggered for the string that performs way lower than the other strings.

Improve websocket reconnect

  • Add connection Details to debug screen
  • Check and fix reconnect Handler
  • Add a banner for displaying that the device is not connected

CleartextTraffic

My scanner got a few additional checks and reported on today's release:

! repo/xyz.commanderred.opendtuapp_7.apk declares flag(s): usesCleartextTraffic

I'm not familiar with the inverters and how they are communicated with, so could you please clarify what cleartext traffic is needed by the app? Thanks in advance!

Blank Screen after start

Hi,
after starting the App just a white Screen appears. I can see for a second that the app connects to the dtu, connection ist working. After disabling WLAN i see the no connection Screen.
I am using android 13 with MIUI 14.0.11.

Influxdb

I use influxdb. Is there a way to connect to influxdb database?

Graphs: Easy configuration for time intervall

Hi,

please add buttons "12h", "24h", "48h", "7d", "1m", "6m", "12m", "1y" to the Graph configuration so one can change the time intervall more easy.

The time intervall should be configured for every graph individually.

wrong APK at v0.1.9 release?

The arm64-v8a APK at v0.1.9 identifies as

package: name='xyz.commanderred.opendtuapp' versionCode='6' versionName='0.1.8'

Expected would be a versionName='0.1.9'. Was the wrong APK attached accidentally – or just the versioning not adjusted before creating the release? build.gradle makes me assume the latter:

    defaultConfig {
        applicationId "xyz.commanderred.opendtuapp"
        setProperty("archivesBaseName", "OpenDTUApp")
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 6
        versionName "0.1.8"
    }

Implement more Graphs

Great app so far :)

Right now we have AC Power and DC Voltage Graphs but Prometheus provides much more data.
I wish for more graphs which are selectable and configurable by user

Implement firmware selector

  • Fetch GitHub releases (remember to cache them for at least one hour, check GH API Doku)
  • Let user select a firmware version
  • Show changelog (does GH have a API for getting the changelog since release x.y.z?)
  • Implement a file selector
  • When user Downloads Firmware via release Browser, Download File into memory and then upload it again. If upload fails, also have redo button that only redos upload and not Download bin File again.

Live data plusieurs OpenDTU

Bonjour

Est ce qu'il serait possible que sur Live Data d'avoir accès à tout les OpenDTU? Est de les afficher tous sur Live data. Au lieu de switcher entre les OpenDTU. Quand on en a plusieurs ça sera mieux de tout avoir sur la page Live data et ainsi voir toutes son installation rapidement d'un seul coup d'oeil.

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.