GithubHelp home page GithubHelp logo

philippmos / statuschecker Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 3.96 MB

[ Xamarin, C#, iOS ] - StatusChecker App, that checks the status like temperature from IoT-Gadgets

License: MIT License

C# 97.31% Shell 2.69%

statuschecker's Introduction

StatusChecker

Pipelines

MS Azure DevOps MS AppCenter & Distribution CodeQL
Build Status Build status CodeQL

Technology

  • Xamarin.Forms
  • C#

Description

Checks the Status-Page of multiple Shelly IoT-Gadgets based on given IpAddresses. It displays the Temperature of each Gadget and allows re-checking the status.

Screenshots

         

statuschecker's People

Contributors

philippmos avatar dependabot[bot] avatar

Watchers

 avatar

statuschecker's Issues

System.Net.WebException: The operation has timed out.

HttpWebRequest.RunWithTimeoutWorker[T] (System.Threading.Tasks.Task1[TResult] workerTask, System.Int32 timeout, System.Action abort, System.Func1[TResult] aborted, System.Threading.CancellationTokenSource cts)

In Version: 1.1.12 (1.1.12)

StackTrace:
System.Net HttpWebRequest.RunWithTimeoutWorker[T] (System.Threading.Tasks.Task1[TResult] workerTask, System.Int32 timeout, System.Action abort, System.Func1[TResult] aborted, System.Threading.CancellationTokenSource cts) System.Net HttpWebRequest.EndGetResponse (System.IAsyncResult asyncResult) System.Threading.Tasks TaskFactory1[TResult].FromAsyncCoreLogic (System.IAsyncResult iar, System.Func2[T,TResult] endFunction, System.Action1[T] endAction, System.Threading.Tasks.Task1[TResult] promise, System.Boolean requiresSynchronization) StatusChecker.Services WebRequestService.GetWebResponseAsync (System.String ipAddress)

Make Gadgetlist sortable

Provide setting to allow selecting the preferred sorting property.

  • Name
  • Location
  • Creation
  • ip address
  • Temperature (check if fetching is possible - async)
  • Custom Sorting by defining the Position at each Element

CI: Build, Sign, Distribute via AppCenter

  • Building App in Release-Environment in Azure DevOps, that is only triggered at master-branch
  • Save Artifacts, that can be used by Release-Pipeline
  • Add Provisioning Profile Information via Environment-Variables in Azure DevOps (For Build Pipeline)
  • Add new Release-Pipeline, that distributes the builds to AppCenter
  • In AppCenter, setup the Distribution to AppStore / TestFlight
  • Setup Release-Notes file in Repo that is automatically used

New Settings View

For the first there should be the option to define the endpoint route for status-requests.
Next timtest we could also save the basic authentication base64 token (user enters username and password)

Fix System.InvalidOperationException: The class, property, or method you are attempting to use ('.ctor') is part of SwipeView; to use it, you must opt-in by calling Forms.SetFlags("SwipeView_Experimental") before calling Forms.Init(). in ExperimentalFlags.VerifyFlagEnabled (System.String coreComponentName, System.String flagName, System.String constructorHint, System.String memberName) (D:\a\1\s\Xamarin.Forms.Core\ExperimentalFlags.cs:49)

Version 1.1.16(1.1.16)

Stacktrace

Reason

System.InvalidOperationException: The class, property, or method you are attempting to use ('.ctor') is part of SwipeView; to use it, you must opt-in by calling Forms.SetFlags("SwipeView_Experimental") before calling Forms.Init().

Link to App Center

Get Legal Page Content from external Service

Setup Legal HTML Pages on external service and fetch it in WebView.

Issue when distributing via AppCenter, cannot be replaced properly.

  • Setup Azure Static WebApp
  • Build static content
  • Deploy to Web
  • Add new AppSetting
  • Update Pipeline

Show Gadgets, that are invalid

Currently its possible to add gadgets without an IP-Address. While there is no result at the WebRequest, the gadget is not shown in the list.
All gadgets should be shown in the list, to provide the option to delete the not valid ones.

Add menuepoint appinformation

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Implement Validation for New Gadget Creation Mask

The User-Input for the Gadget CreationMask is currently not really validated.

  • GadgetName should be larger than 3 chars and unique
  • Location is optional, but should not be duplicated
  • IP Address is required, unique and must be validated
  • Description is optional

System.UriFormatException: Invalid URI: The hostname could not be parsed.

Exception: Uri.CreateThis (System.String uri, System.Boolean dontEscape, System.UriKind uriKind)

In Version: 1.1.12 (1.1.12)

StackTrace:
System Uri.CreateThis (System.String uri, System.Boolean dontEscape, System.UriKind uriKind) System.Uri System.Uri..ctor (System.String uriString) <0x10156f550 + 0x0002b> in <f0f71cc5f7d24a59a84534ebe187e509#15876fc6ef5c207a3a74235bd0cd845f>:0 System.Net WebRequest.Create (System.String requestUriString) StatusChecker.Services WebRequestService.GetWebResponseAsync (System.String ipAddress)

Fix System.IO.DirectoryNotFoundException: Could not find a part of the path "/Users/philippmoser/Library/Developer/CoreSimulator/Devices/E88ACAEE-ED33-4C0A-AA03-B323B23128C6/data/Containers/Bundle/Application/C034BFCB-FD5B-4ECC-ADCB-8B1132AD4DFC/StatusChecker.iOS.app/Content/Static/Legal/imprint_de.html". in Application.Main (System.String[] args) (/Users/philippmoser/Projects/StatusChecker/StatusChecker.iOS/Main.cs:17)

Version 1.1.18(1.1.18)

Stacktrace

StatusChecker.iOS.Application.Main (System.String[] args) [0x00001] in /Users/philippmoser/Projects/StatusChecker/StatusChecker.iOS/Main.cs:17;StatusChecker.iOS

Reason

System.IO.DirectoryNotFoundException: Could not find a part of the path "/Users/philippmoser/Library/Developer/CoreSimulator/Devices/E88ACAEE-ED33-4C0A-AA03-B323B23128C6/data/Containers/Bundle/Application/C034BFCB-FD5B-4ECC-ADCB-8B1132AD4DFC/StatusChecker.iOS.app/Content/Static/Legal/imprint_de.html".

Link to App Center

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.