HomagGroup.HomagConnect.MmrMobile.Client 1.1.1

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package HomagGroup.HomagConnect.MmrMobile.Client --version 1.1.1                
NuGet\Install-Package HomagGroup.HomagConnect.MmrMobile.Client -Version 1.1.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HomagGroup.HomagConnect.MmrMobile.Client" Version="1.1.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HomagGroup.HomagConnect.MmrMobile.Client --version 1.1.1                
#r "nuget: HomagGroup.HomagConnect.MmrMobile.Client, 1.1.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install HomagGroup.HomagConnect.MmrMobile.Client as a Cake Addin
#addin nuget:?package=HomagGroup.HomagConnect.MmrMobile.Client&version=1.1.1

// Install HomagGroup.HomagConnect.MmrMobile.Client as a Cake Tool
#tool nuget:?package=HomagGroup.HomagConnect.MmrMobile.Client&version=1.1.1                

HOMAG MMR Mobile Client

HOMAG Connect MMR Mobile gives you direct access to your machine data (counters, states) from MMR Mobile. You can then conveniently integrate this into your applications. To help you get started, we have prepared a few examples that you can find below.

Version history

Version Date Comment
1.0.0 07.09.2023 First Draft
1.1.0 27.10.2023 Add granularity for getting the data and updating the technical documentation

Content table

  1. TL;DR
  2. Homag Connect MMR Mobile interface overview
  3. Details

Authorization

TL;DR

mkdir test-homag-connect-mmr-client
dotnet new console
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
dotnet add package HomagGroup.HomagConnect.MmrMobile.Client
using System.Net.Http.Headers;
using System.Text;

using HomagConnect.MmrMobile.Client.Services;

Console.WriteLine("Hello at the HOMAG MMR Mobile Client");

var client = new HttpClient();
client.BaseAddress = new Uri("https://connect.homag.cloud");
Console.WriteLine("Please insert your subscription Id:");
var subscriptionId = Console.ReadLine();
Console.WriteLine("Please insert your token:");
var token = Console.ReadLine();
var credentials = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{subscriptionId}:{token}"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", credentials);
var states = await mmrMobileService.GetStateData();
var counters = await mmrMobileService.GetCounterData();
Console.WriteLine($"You got {states.Count()} states and {counters.Count()} counter for the last 14 days")
dotnet run

Homag Connect MMR Mobile interface overview

Name Method API Usage
GetStateData GET api/mmr/<br/>states?from={from}&to={to}<br/>&machineNumber={machineNumber}<br/>&instanceId={instanceId}<br/>&machineType={machineType}<br/>&stateId={stateId}<br/>&detailedStateId={detailedStateId}<br/>&granularity={granularity} Returns all state data for the asked time window (default: 14 days) for all machines assigned to the subscription, if not asked specifically.
GetCounterData GET api/mmr/<br/>counter?from={from}&to={to}<br/>&machineNumber={machineNumber}<br/>&instanceId={instanceId}<br/>&machineType={machineType}<br/>&counterId={counterId}<br/>&granularity={granularity} Returns all counter data for the asked time window (default: 14 days) for all machines assigned to the subscription, if not asked specifically.

Details

Rate Limiting

As mentioned in the base documentation, each application has a different rate limitation. For the following endpoints this limit is currently set to 6 requests in a minute.

GetStateData

Input
Parameter Type Description
from (Optional) DateTime DateTime that the search should start from
to (Optional) DateTime DateTime that the search should end
machineNumber (Optional) string Number of the machine (Format: x-xxx-xx-xxxx)
instanceId (Optional) string The id of the instance
machineType (Optional) string Type of machine
stateId (Optional) string Id of the state
detailedStateId (Optional) string Id of the detailed state
granularity (Optional) string Specifies granualrity of the returned data (hour, day, week, month). Default will be like the following: 1 day: hourly, 2-14 days: daily, 15 days - 3 months: weekly, every timespan requested bigger than 3 months: monthly if not asked specifically. The hourly data is only available for the last 14 days.
Output
Property Type Description
Machine Number string Number of the machine
Machine Name string Name of the machine
Machine Type string Type of machine
Timestamp DateTime Day when the data was gathered
Granularity string Granularity of the requested data
Duration [h] double Time that the machine spent in the state in hours
Instance Id string Id of the instance
Detailed State Id string Id of the detailed state
Detailed State string Detailed state translated into the requested language
State Id string Id of the state
State string State translated into the requested language
Example

Request

GET /api/mmr/states
api-version: 2023-09-05
Accept-Language: de-DE
Authorization: Basic NjU1MDFEMDktMkJCOS00M0MyLUI5RDMtMUZCMDAwNkE3NjlFOnNkMDlzaGR1Z985OGffc2ZkZ3pz32Y5ZGhzYWZkaHNmZN92ODlwYmZkOXZiaGFmZGd2
tracestate: someinternaltracedata

Response (200 OK)

Content-Type: application/json; charset=utf-8
[
    {
        "Machine Number": "0-242-92-1234",
        "Machine Name": "Some Machine | 0-242-92-1234",
        "Machine Type": "CNC",
        "Timestamp": "2022-09-27T00:00:00",
        "Granularity": "day",
        "Duration [h]": 4.348055555555556,
        "Instance Id": "M1-C1",
        "Detailed State Id": "S_OMU_MODE1",
        "Detailed State": "Hauptnutzung Tisch links",
        "State Id": "s_mainusage",
        "State": "Hauptnutzung"
    }
]

The default route with no timespan added will always return related data for the last 14 days.

GetCounterData

Input
Parameter Type Description
from (Optional) DateTime DateTime that the search should start from
to (Optional) DateTime DateTime that the search should end
machineNumber (Optional) string Number of the machine (Format: x-xxx-xx-xxxx)
instanceId (Optional) string The id of the instance
machineType (Optional) string Type of machine
counterId (Optional) string Id of the counter
granularity (Optional) string Specifies granualrity of the returned data (hour, day, week, month). Default will be like the following: 1 day: hourly, 2-14 days: daily, 15 days - 3 months: weekly, every timespan requested bigger than 3 months: monthly if not asked specifically. The hourly data is only available for the last 14 days.
Output
Property Type Description
Machine Number string Number of the machine
Machine Name string Name of the machine
Machine Type string Type of machine
Timestamp DateTime Day when the data was gathered
Granularity string Granularity of the requested data
Value double Output value
Instance Id string Id of the instance
Counter Id string Id of the counter
Counter string Counter translated into the requested language
Example

Request

GET /api/mmr/counters
api-version: 2023-09-05
Accept-Language: de-DE
Authorization: Basic NjU1MDFEMDktMkJCOS00M0MyLUI5RDMtMUZCMDAwNkE3NjlFOnNkMDlzaGR1Z985OGffc2ZkZ3pz32Y5ZGhzYWZkaHNmZN92ODlwYmZkOXZiaGFmZGd2
tracestate: someinternaltracedata

Response (200 OK)

Content-Type: application/json; charset=utf-8
[
    {
        "Machine Number": "0-242-92-1234",
        "Machine Name": "Some Machine | 0-242-92-1234",
        "Machine Type": "CNC",
        "Timestamp": "2022-09-05T05:00:00",
        "Granularity": "hour",
        "Value": 62.0,
        "Instance Id": "M1-C1",
        "Counter Id": "S_OUT_CyclesAll",
        "Counter": "Ausbringung Zyklen"
    }
]

The default route with no timespan added will always return related data for the last 14 days.

Contribute

If you find anything, feel free to contribute to this repository. We are happy for every improvement ❤️.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.3-alpha.0.183 34 12/20/2024
1.2.3-alpha.0.182 33 12/20/2024
1.2.3-alpha.0.181 40 12/19/2024
1.2.3-alpha.0.179 35 12/19/2024
1.2.3-alpha.0.178 34 12/18/2024
1.2.3-alpha.0.177 66 12/13/2024
1.2.3-alpha.0.176 47 12/12/2024
1.2.3-alpha.0.175 43 12/9/2024
1.2.3-alpha.0.174 44 12/9/2024
1.2.3-alpha.0.173 45 12/5/2024
1.2.3-alpha.0.172 40 12/3/2024
1.2.3-alpha.0.171 44 11/22/2024
1.2.3-alpha.0.170 40 11/22/2024
1.2.3-alpha.0.169 45 11/21/2024
1.2.3-alpha.0.168 43 11/19/2024
1.2.3-alpha.0.167 53 11/11/2024
1.2.3-alpha.0.166 54 11/11/2024
1.2.3-alpha.0.164 45 11/5/2024
1.2.3-alpha.0.163 44 10/25/2024
1.2.3-alpha.0.161 43 10/22/2024
1.2.3-alpha.0.160 36 10/22/2024
1.2.3-alpha.0.159 97 10/18/2024
1.2.3-alpha.0.156 50 10/17/2024
1.2.3-alpha.0.155 47 10/16/2024
1.2.3-alpha.0.154 46 10/11/2024
1.2.3-alpha.0.153 49 10/10/2024
1.2.3-alpha.0.151 47 10/9/2024
1.2.3-alpha.0.150 63 9/27/2024
1.2.3-alpha.0.148 55 9/26/2024
1.2.3-alpha.0.147 48 9/25/2024
1.2.3-alpha.0.146 47 9/25/2024
1.2.3-alpha.0.144 51 9/23/2024
1.2.3-alpha.0.143 48 9/20/2024
1.2.3-alpha.0.142 46 9/20/2024
1.2.3-alpha.0.141 50 9/19/2024
1.2.3-alpha.0.140 48 9/19/2024
1.2.3-alpha.0.139 56 9/18/2024
1.2.3-alpha.0.138 42 9/18/2024
1.2.3-alpha.0.137 52 9/18/2024
1.2.3-alpha.0.136 50 9/18/2024
1.2.3-alpha.0.135 54 9/18/2024
1.2.3-alpha.0.134 65 9/16/2024
1.2.3-alpha.0.133 59 9/13/2024
1.2.3-alpha.0.132 50 9/12/2024
1.2.3-alpha.0.131 49 9/12/2024
1.2.3-alpha.0.130 56 9/9/2024
1.2.3-alpha.0.128 54 9/6/2024
1.2.3-alpha.0.127 51 9/6/2024
1.2.3-alpha.0.126 52 9/5/2024
1.2.3-alpha.0.125 54 9/4/2024
1.2.3-alpha.0.124 56 8/30/2024
1.2.3-alpha.0.123 50 8/30/2024
1.2.3-alpha.0.122 55 8/30/2024
1.2.3-alpha.0.121 51 8/30/2024
1.2.3-alpha.0.120 50 8/29/2024
1.2.3-alpha.0.119 50 8/27/2024
1.2.3-alpha.0.118 69 8/23/2024
1.2.3-alpha.0.117 69 8/23/2024
1.2.3-alpha.0.115 79 8/20/2024
1.2.3-alpha.0.114 77 8/16/2024
1.2.3-alpha.0.111 39 8/6/2024
1.2.3-alpha.0.110 39 8/5/2024
1.2.3-alpha.0.109 43 8/2/2024
1.2.3-alpha.0.108 47 8/2/2024
1.2.3-alpha.0.107 39 7/31/2024
1.2.3-alpha.0.106 51 7/30/2024
1.2.3-alpha.0.105 37 7/30/2024
1.2.3-alpha.0.104 41 7/30/2024
1.2.3-alpha.0.103 37 7/30/2024
1.2.3-alpha.0.102 53 7/29/2024
1.2.3-alpha.0.101 55 7/26/2024
1.2.3-alpha.0.100 47 7/25/2024
1.2.3-alpha.0.99 57 7/25/2024
1.2.3-alpha.0.98 57 7/25/2024
1.2.3-alpha.0.97 56 7/25/2024
1.2.3-alpha.0.96 55 7/25/2024
1.2.3-alpha.0.95 53 7/25/2024
1.2.3-alpha.0.94 55 7/24/2024
1.2.3-alpha.0.93 55 7/24/2024
1.2.3-alpha.0.92 54 7/25/2024
1.2.3-alpha.0.91 57 7/23/2024
1.2.3-alpha.0.90 53 7/23/2024
1.2.3-alpha.0.89 61 7/18/2024
1.2.3-alpha.0.88 53 7/17/2024
1.2.3-alpha.0.87 60 7/17/2024
1.2.3-alpha.0.86 58 7/17/2024
1.2.3-alpha.0.85 55 7/17/2024
1.2.3-alpha.0.84 54 7/16/2024
1.2.3-alpha.0.83 52 7/12/2024
1.2.3-alpha.0.82 42 7/10/2024
1.2.3-alpha.0.81 51 7/10/2024
1.2.3-alpha.0.80 55 7/9/2024
1.2.3-alpha.0.79 53 7/9/2024
1.2.3-alpha.0.78 49 7/9/2024
1.2.3-alpha.0.77 54 7/9/2024
1.2.3-alpha.0.76 56 7/9/2024
1.2.3-alpha.0.75 45 7/9/2024
1.2.3-alpha.0.74 56 7/8/2024
1.2.3-alpha.0.73 58 7/8/2024
1.2.3-alpha.0.72 55 7/5/2024
1.2.3-alpha.0.71 63 7/4/2024
1.2.3-alpha.0.70 52 7/4/2024
1.2.3-alpha.0.69 64 7/4/2024
1.2.3-alpha.0.68 54 7/3/2024
1.2.3-alpha.0.67 55 7/3/2024
1.2.3-alpha.0.66 45 7/3/2024
1.2.3-alpha.0.65 52 7/3/2024
1.2.3-alpha.0.64 60 7/2/2024
1.2.3-alpha.0.63 61 7/1/2024
1.2.3-alpha.0.62 55 6/26/2024
1.2.3-alpha.0.61 58 6/26/2024
1.2.3-alpha.0.60 56 6/26/2024
1.2.3-alpha.0.59 55 6/26/2024
1.2.3-alpha.0.58 63 6/24/2024
1.2.3-alpha.0.57 60 6/24/2024
1.2.3-alpha.0.55 56 6/24/2024
1.2.3-alpha.0.54 56 6/18/2024
1.2.3-alpha.0.53 52 6/18/2024
1.2.3-alpha.0.52 54 6/17/2024
1.2.3-alpha.0.51 55 6/17/2024
1.2.3-alpha.0.50 53 6/17/2024
1.2.3-alpha.0.49 53 6/13/2024
1.2.3-alpha.0.48 54 6/12/2024
1.2.3-alpha.0.47 54 6/12/2024
1.2.3-alpha.0.46 53 6/12/2024
1.2.3-alpha.0.45 54 6/12/2024
1.2.3-alpha.0.44 59 6/7/2024
1.2.3-alpha.0.43 50 6/6/2024
1.2.3-alpha.0.42 63 6/6/2024
1.2.3-alpha.0.41 59 5/28/2024
1.2.3-alpha.0.40 58 5/28/2024
1.2.3-alpha.0.38 61 5/27/2024
1.2.3-alpha.0.37 67 5/23/2024
1.2.3-alpha.0.36 62 5/22/2024
1.2.3-alpha.0.35 66 5/22/2024
1.2.3-alpha.0.34 68 5/16/2024
1.2.3-alpha.0.33 74 5/15/2024
1.2.3-alpha.0.32 62 5/15/2024
1.2.3-alpha.0.31 63 4/25/2024
1.2.3-alpha.0.29 66 4/24/2024
1.2.3-alpha.0.28 65 4/23/2024
1.2.3-alpha.0.27 63 4/22/2024
1.2.3-alpha.0.26 63 4/22/2024
1.2.3-alpha.0.25 60 4/22/2024
1.2.3-alpha.0.24 71 4/22/2024
1.2.3-alpha.0.23 67 4/19/2024
1.2.3-alpha.0.22 61 4/19/2024
1.2.3-alpha.0.21 65 4/19/2024
1.2.3-alpha.0.20 64 4/18/2024
1.2.3-alpha.0.19 63 4/18/2024
1.2.3-alpha.0.18 61 4/18/2024
1.2.3-alpha.0.17 65 4/16/2024
1.2.3-alpha.0.16 73 4/16/2024
1.2.3-alpha.0.15 70 4/12/2024
1.2.3-alpha.0.14 61 4/10/2024
1.2.3-alpha.0.13 67 4/10/2024
1.2.3-alpha.0.12 66 4/10/2024
1.2.3-alpha.0.11 65 4/9/2024
1.2.3-alpha.0.10 59 4/9/2024
1.2.3-alpha.0.9 51 4/9/2024
1.2.3-alpha.0.8 70 4/8/2024
1.2.3-alpha.0.7 86 4/5/2024
1.2.3-alpha.0.6 71 4/3/2024
1.2.3-alpha.0.5 66 4/3/2024
1.2.3-alpha.0.4 67 4/3/2024
1.2.3-alpha.0.3 74 3/29/2024
1.2.3-alpha.0.2 71 3/28/2024
1.2.3-alpha.0.1 72 3/28/2024
1.2.2 143 3/28/2024
1.2.2-alpha.0.3 74 3/28/2024
1.2.2-alpha.0.2 71 3/28/2024
1.2.2-alpha.0.1 58 3/27/2024
1.2.1 116 3/26/2024
1.1.2-alpha.0.5 67 3/26/2024
1.1.1 145 1/23/2024
1.1.0 244 10/27/2023
1.0.0 189 9/7/2023