# Ez MINUT

<figure><img src="/files/k20UJ4VMWnpbgU7P3ojd" alt=""><figcaption></figcaption></figure>

## 🔗Links

&#x20;      [**Plugin Link on Bubble Marketplace**](https://bubble.io/plugin/ez-minut-1721657633510x796994341125226500)

&#x20;      [**Plugin Link on Our Website**](https://eazycode.com/one_plugin/ez-minut-1722514902467x521376691272120060)

&#x20;      [**Demo Link**](https://eazycodedemo2.bubbleapps.io/version-test/ez_minut)

***

## Description

MINUT provides privacy-safe monitoring solutions for rental properties, including noise, occupancy, and cigarette smoke detection. Their platform aims to protect properties, prevent damage, and ensure community safety without using intrusive cameras. It serves various rental types, such as vacation, residential, and hotels, and offers integrations with other property management tools. Minut focuses on delivering real-time notifications and data to help property managers maintain safety and efficiency.\
\
For more details, visit [Minut](https://www.minut.com/).\
\
Our plugin Ez Minut allows bubble applications to receive data from MINUT sensor devices.

***

## Instruction

Ez Minut Actions:

* Create Webhook
* Delete Webhook
* Get All Homes
* Get All Properties
* Get Device
* Get Home
* Get AccesToken

1\) First of all, generate an Access Token for a device. After that, You can Use all Plugin Actions. From Plugin Tab, choose Generate AccesToken.

<figure><img src="/files/JiHqNk2o8nmhaeBY6BUT" alt="" width="407"><figcaption></figcaption></figure>

2\) After that, a window that requires entering the **Client ID** and **Client Secret** will appear.\
Client ID and Client Secret you can get from **MINUT** device dashboard.

<figure><img src="/files/uJe4TNqV0mlKzqlqrUMX" alt="" width="375"><figcaption></figcaption></figure>

3\) Get **All Properties**.<br>

<figure><img src="/files/krT1j3WgSVDdnihJ4MiT" alt="" width="352"><figcaption></figcaption></figure>

To get all properties, you need to enter **Your Access Token Generated** previously.\
After you push the action, you will get **JSON** that looks like this:

```
{
  "organizations": [
    {
      "id": "65b10276b96e85137df9f229",
      "name": "YOURNAME",
      "user_role": "owner",
      "personal": false,
      "guest_communication": {
        "disturbance_monitoring": {
          "first_notice": {
            "sms_content": "Hi there! We hope you're enjoying your stay. We've detected 
noise levels that are higher than
 allowed in this home. If you could please
 keep the noise down we'd 
appreciate it!",
            "autocall_content": "Hi. 
This is an automated message from 
the host you are staying at. Loud noise
 levels have been detected in this 
home. If you could please keep
 the noise down we would appreciate it."
          },
          "second_notice": {
            "sms_content": "Hi there! We hope you're enjoying your stay. We've
 detected noise levels that are higher
 than allowed in this home. 
If you could please keep the noise down we'd appreciate it!",
            "autocall_content": "Hi. This is an
automated message from the host you 
are staying at. Loud noise levels have been detected in this home.
 If you could please keep the 
noise
 down we would appreciate it."
          },
          "third_notice": {
            "sms_content": "Hi there! We hope you're enjoying your stay. We've detected noise
 levels that are higher than allowed in this 
home. If you could please keep the 
noise
 down we'd appreciate it!",
            "autocall_content": "Hi. This is an
 automated message from the host you are staying at.
 Loud noise levels have been detected
 in this home. If you could please keep the noise down we would appreciate it."
          }
        }
      },
      "created_at": "2024-01-24T12:28:38.581Z",
      "owner_id": "65b100aedb87a4b504dc79cc",
      "current_plan": "pro",
      "current_subscription_status": "active",
      "sensor_swap": {
        "enabled": true
      }
    }
  ],
  "paging": {
    "limit": 20,
    "offset": 0,
    "total_count": 1
  }
}
```

4\) Get **HomeGroups** Action.<br>

<figure><img src="/files/ugVXv39Gw4eU6THSWW6p" alt=""><figcaption></figcaption></figure>

To get **Home Groups Data**, you need to Enter **OrganisationID** (from the previous step) and the **Authorization** you got from **Create AccessToken** Action. Getting data will look like this:

```
{
  "homegroups": [
    {
      "id": "65bb94589afaee7391adf6e5",
      "name": "NAME",
      "organization_id": "65b10276b96e85137df9f229",
      "created_at": "2024-02-01T12:53:44.225Z",
      "updated_at": "2024-02-01T12:53:44.225Z",
      "user_role": "admin"
    }
  ],
  "paging": {
    "limit": 10,
    "offset": 0,
    "total_count": 1
  }
}
```

5\) Get **Home** Action.

<figure><img src="/files/VLdvbrYKxHa9sNK9UhAy" alt=""><figcaption></figcaption></figure>

You will get information about property, where you can parse the "**DEVICE ID**" that we need to make calls in real-time. Received data will look like this:

```
{
  "home_id": "65b101d0b96e85137df95a97",
  "name": "Name",
  "home_roles": [
    "family"
  ],
  "created_at": "2024-01-24T12:30:48.324Z",
  "created_by": "65b100aedb87a4b504dc79cc",
  "timezone": "Europe/Berlin",
  "address": {
    "street_name1": "StreetAddr",
    "street_name2": "",
    "post_code": "postalCode",
    "city": "München",
    "country": "DE",
    "region": "BE",
    "notes": ""
  },
  "devices": [
    {
      "device_id": "65bb92e27446d287b76e0c3b"
    }
  ],
  "alarm_status": "off",
  "detailed_alarm_status": "off",
  "location": {
    "longitude": 4654654654,
    "latitude": 8995.3656446
  },
  "alarm_off_grace_period_secs": 45,
  "alarm_mode": "manual",
  "scheduled_alarm_active": false,
  "silent_alarm": false,
  "country": [
    "DE"
  ],
  "current_plan": "pro",
  "disturbance_monitoring_enabled": false,
  "disturbance_monitoring_active": true,
  "disturbance_monitoring": {
    "state": "idle",
    "state_v2": "idle",
    "current_state_update_at": "2024-03-14T14:19:00.062Z",
    "local_reaction": false
  },
  "response_service": {
    "automatic_dispatch_disabled": false,
    "available": false,
    "configured": false,
    "active": false,
    "subscription_status": "none"
  },
  "owner": {
    "id": "65b10276b96e85137df9f229",
    "type": "organization"
  },
  "profile_id": "65b10276b96e85137df9f235",
  "occupancy": {
    "active": false,
    "capacity": 0,
    "updated_at": "2024-01-24T12:30:48.324Z",
    "latest_scanned_devices": 0,
    "scanned_devices_threshold": 0,
    "status": "unknown"
  },
  "guest_communication": {
    "checkin_message": ""
  }
}
```

6\) Get **Device** Action.

<figure><img src="/files/vVFtFCVPZu5jdwTDAu2h" alt=""><figcaption></figcaption></figure>

All useful data will be in response:

```
{
  "device_id": "jdhjdshcjdkshjcsenjds",
  "device_mac": "dsn,smnv,mds,nmsdn",
  "owner": "dsnvbdsjbvnbndsbvnsd",
  "home": "dsvnbsdbdsbvsdhjbvsdkj",
  "active": true,
  "offline": false,
  "report_interval": "default",
  "first_seen_at": "2024-02-01T12:47:30.291Z",
  "last_heard_from_at": "2024-03-14T14:18:59.051Z",
  "last_heartbeat_at": "2024-03-14T14:19:00.118Z",
  "next_heartbeat_at": "2024-03-14T15:19:00.000Z",
  "firmware": {
    "installed": 1041556
  },
  "hardware_version": 212,
  "description": "Description",
  "nightlight_mode": "off",
  "configuration": {
    "version": 1,
    "installed_on_device_at": "2024-03-14T14:19:00.118Z",
    "updated_at": "2024-01-30T13:54:26.288Z",
    "room_type": "living_room",
    "reactions": [
      {
        "type": "home:temperature:low",
        "value": 15,
        "duration_seconds": 600,
        "notifications": [
          "push"
        ]
      }
    ],
    "quiet_hours": {
      "enabled": false,
      "start": "22:00",
      "end": "07:00"
    }
  },
  "ongoing_events": [
    "battery_low"
  ],
  "alarm_recognition": "on",
  "power_saving_mode": "off",
  "latest_sensor_values": {
    "temperature": {
      "time": "2024-03-14T14:18:41.000Z",
      "value": 21.739999771118164
    },
    "sound": {
      "time": "2024-03-14T14:18:06.000Z",
      "value": 58.6544189453125
    },
    "humidity": {
      "time": "2024-03-14T14:18:41.000Z",
      "value": 54.90999984741211
    },
    "pressure": {
      "time": "2024-03-14T14:18:41.000Z",
      "value": 95386
    },
    "accelerometer_z": {
      "time": "2024-03-14T14:05:41.000Z",
      "value": 0.9921875
    }
  },
  "battery": {
    "voltage": 3.318000078201294,
    "low_warning_sent_at": "2024-03-04T09:10:24.954Z",
    "percent": 1
  },
  "wlan": {
    "ssid": "ssiidiid",
    "bssid": "bsssisd",
    "rssi": -57,
    "address_ipv4": "some ip address",
    "signal_quality": 3
  },
  "mount_status": "mounted",
  "outdoor_support": true,
  "placed_outdoors": false,
  "mould_risk_level": "LOW",
  "charge_status": "disconnected",
  "listening_mode": "interval",
  "network_interface": "wifi",
  "fire_alarm": {
    "status": "unsupported",
    "updated_at": "2024-02-01T12:47:30.293Z",
    "available": false
  },
  "carbon_monoxide_alarm": {
    "status": "unsupported",
    "updated_at": "2024-02-01T12:47:30.293Z",
    "available": false
  }
}
```

7\) Get **Device ID**.\
\
To get **Device ID**, you have to open a MINUT device DashBoard, hex after "=" will be your Device ID.

<figure><img src="/files/Tjc7Gs7SUQtNUorp6JkX" alt=""><figcaption></figcaption></figure>

8\) How To Create a **WebHook**?&#x20;

\
Firstly enter bubble entryPoint with "/initialize", after you get Data, erase"/initialize". This is useful for getting alerts when some events happen on the device (ex. Smoking, Loudness, etc.).

***

<div align="left"><figure><img src="/files/FWlRXstCc6xNIGrX5Eqb" alt="" width="188"><figcaption></figcaption></figure></div>

Feel free to contact us for any inquiries and we’ll be happy to find a solution for your ideas – <http://eazycode.com/>

**Hire us:**

<img src="/files/4KPeHfCmX2d7zpd83cXF" alt="" data-size="line"> <https://www.fiverr.com/share/qQoDQZ>\ <img src="/files/h0wwtUMwvDod7FamBfIq" alt="" data-size="line"> <https://www.upwork.com/freelancers/~01c1a4cbef44ecb5f1>\
\
**Follow us:**

<img src="/files/67Q41mFR1z6nYwKvqJeJ" alt="" data-size="line"> <https://www.facebook.com/eazycode>\ <img src="/files/6MUa0InxwRzMoVStCu5q" alt="" data-size="line"> <https://twitter.com/ezcode_official>  \ <img src="/files/IUseXDC1i7zfvZcQgctx" alt="" data-size="line"> <https://www.instagram.com/eazycodecom/>\ <img src="/files/0dMeGeMKCjKSGW3RBP6P" alt="" data-size="line"> <https://www.linkedin.com/company/eazycodecom/>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eazycode.com/ezcode-documentation/plugins/ez-minut.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
