Trying to create a schema in IBM Watson IoT gives me 'Internal Error' - why..? - ibm-cloud

I'm trying to follow this guide: https://console.bluemix.net/docs/services/IoT/GA_information_management/ga_im_index_scenario.html#scenario
But as soon as I hit "Manage Schemas" in the device type section I get an "Internal Error", saying I should contact the Admin... I'm not able to create schemas. What's going wrong?
Thanks in advance!
Tom

It is not entirely clear what you are trying to achieve. If you are simply trying to retrieve the raw events that have been published by your device, then you need to use a URL for the form:
/api/v0002/device/types/{deviceType}/devices/{deviceId}/events/{eventName}
This is documented in the Watson IoT Platform API reference.
It is worth noting that, if this is all you are trying to achieve, you do not need to follow the guide that you referenced. It is possible to retrieve the raw events using the REST API simply by defining the Device Type and registering your device.
The guide that you referenced describes the Data Management capabilities of the Watson IoT Platform. These capabilities allow you to process the raw events in order to generate/compute state for the device. This is more involved than simply retrieving the raw events because you need to configure schemas for the events and the state and then define the mappings that tell the platform how to compute the properties on the state when an event is received. The computed state for a device is a different resource and needs to be retrieved using a different URL:
GET /api/v0002/device/types/{typeId}/devices/{deviceId}/state/{logicalInterfaceId}
This is documented here

It's a little confusing, but that Manage Schemas section of the UI is not related to the feature you're looking at as part of the guide you referred to.
The guide you're looking at outlines how to configure event schemas and logical interface schemas for a Device Type using REST API calls. If you wish to create this configuration using the web UI, this is possible too but you need to get to the Interfaces section from the Device Types view: see this image
In this case, I clicked on the Humidity Sensor Device Type and then, in the expanded view, clicked on the Interface tab. From there you can use the Simple or Advanced flows to create the configuration.

The reason for the error is because the component that provides the function on that page (Real time insights) is not present in the eu-de region. The page should not be present but for some reason is.
If you are planning on following that guide then this is a different part of the UI from the “manage schemas” page, and is located under the “interfaces” section in “device types”. The function defined in that guide is available in eu-de.

Related

Enabling enhanced measurement programatically

we are using an Admin API to programmatically create Data Streams for given properties - https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1beta/properties.dataStreams/create.
However all of the created Data Streams have enhanced measurement turned off by default. Is there or will there be a possibility to enable it together with the create request?
Thank you
Okay after a bit of digging
EnhancedMeasurementSettings we can find the following
EnhancedMeasurementSettings appear to only be for web DataStream's
Singleton resource under a WebDataStream, configuring measurement of additional site interactions and content.
The issue being is that this is only listed under alpha1 not the beta version of the api.
Then if we look a bit more we find
2021-10-12 EnhancedMeasurementSettings methods removed from the API.
Which seams to say its being removed but will be added back but its a year later and nothing.
I am going to ping the team and see when it will be added back.

What is the easiest way to fetch data dynamically from a cloud storage to a flutter app

I am looking for a way to fetch data to my flutter app which can be adjusted and modified dynamically after deploying the app. As an example, if I want to change the images of the carousel depending on promotions or launch new books to the digital library. I need an economic option to host the data in cloud storage and fetch it from there.
I have considered firebase as well as google drive, but have yet to find a good guide. being a beginner and having concerns about security I want some expert advice if possible.
*edit-
Seeing many a tutorial I assume there is no better way than linking file URLs from the
Cloud Storage. So to dynamically change those is it possible to refer the URLs to some excel sheet fields to obtain URLs. Those fields can certainly be adjusted then without any hard coding. but the question is how to refer to such a sheet file? *
I also want to segregate the users into paid and free users, I have successfully proceeded with the authentication with firebase but still don't understand(I do have some concepts but don't know where to do that) how to put them in groups and impose limitations on them about accessing the data. any guidance, links and helpful advice will be cordially appreciated.
According to what you are looking for, I highly recommend you to use Firebase Remote Config, which is a cloud tool that allows you to modify your app's functionality and appearance without forcing users to download an update. You define in-app default values that control the functionality and appearance of your app when you use Remote Config. Then, for all app users or for subsets of your user base, you may utilize the Firebase console or the Remote Config backend APIs to modify in-app default values.
Your program can control when updates are applied, and it can check for updates regularly and apply them with minimal performance impact.
Remote Config comes with a client library that takes care of essential functions like fetching parameter values and caching them while still allowing you to manage when new values are active and how they affect the user experience in your app.
Here is a tutorial that uses Flutter and Firebase Remote Config that could also help you.

How to connect sensor devices to IOTF using API KEYS

I am doing an android application, I'd like to know how to connect sensor devices/applications to Bluemix IoTF using API keys, by saying that I just want to minimize the registration task from client side(sensor devices)as much as possible. I know how to register devices with deivce Id,token and authentication manually. but I just like to know that is there any other easy way around to do it. It would be great If I got some one shed light on this from scratch. Thanks in advance.
There is a rich set of REST based APIs available at:
https://docs.internetofthings.ibmcloud.com/devices/api.html
and fully documented here:
https://docs.internetofthings.ibmcloud.com/swagger/v0002.html#/
One can use excellent REST based testing tools such as Postman for REST testing.
The reason I mention the REST APIs is that they provide a way for scripting or automating the registration of devices. There is an API called "Add device" that, when called, will register a new device instance of a specific device type against your IoT Foundation instance.
I could imagine a new device that knows it is not registered executing a self registration request to define itself as a new device type. What I would next suggest is that you read the links above and see if they make sense. If they answer your question fully, great. If not, simply post a new question that is specifically targeted at a specific areas and we'll be watching this set of tags and respond back as quickly as we can.

Try to use variants and table personalisation on SAPUI5 SmartTable

I want to use the variants to customise different filter and table variants on a SAP Fiori application, that use SAP Hana Cloud and Java backend.
As a background info:
I'm using a smartTable that is connected to the smartFilter by filterId property. On the table/filter I am able to access directly the data from the metadata by filing the entitySet / entityType property. I am using a real server not a mock server. In the table the properties regarding the personalization and variants are enabled (useTablePersonalisation="true", useVariantManagement="true"). I see that I have to specify the persistencyKey so that variants can display on the UI, but i don't know what value should i complete it with.
I read that smartTable and smartFilter are using SmartVariantManagement(a custom control of VarinatManagement) to accessed directly (without user interaction) SAPUI5 Flexibility Services regarding personalization data and management of the variant. But on SAP Help it says that:
Flexibility services are currently not available in SAP Hana Cloud Platform.
The services run on the ABAP front-end server and NetWeaver 7.31 SP11 or higher
Here is the link: http://help.sap.com/saphelp_hanaplatform/helpdata/en/a8/e55aa2f8bc4127923b20685a6d1621/frameset.htm
It is possible to use the variants and personalization?
How can I do it regardind my application specification?
Does anyone have an example application?
Thank you !
You can use them both at the same time.
For me the useTablePersonalisation="true" is working without any other changes. Rearding the useVariantManagement="true", I use showVariantManagement="true" also, and as you said persistencyKey="SmartFilter_Explored" is also needed to see Variant Management icon.
This is an example: https://sapui5.hana.ondemand.com/explored.html#/sample/sap.ui.comp.sample.smarttable/preview
For me I can not test the variant management functionality when running the app from webide as it is needed an existing user for you. So I can test it only, when running it on launchpad.
PersistencyKey identifies the storage area and saves/retrieves the variants currently used.
This page helps you with persistency key (under Page Variant section):
https://sapui5.hana.ondemand.com/#/topic/06a4c3ac1cf545a7b51864e7f3aa02da
I hope it helped.

Clarification on Bing Maps API locationCode field

I'm working on learning the Bing Maps API for my current project at work. In various locations in route and traffic data output, there is a field called locationCode (or locationCodes). The documentation provides no clarification on what this field is, except to state: "A subscription is typically required to be able to interpret these codes for a geographical area or country."
Nothing I've been able to find yet defines this further or clarifies what data that code can be translated into by these subscription services. So, what are some of the services available to translate this code and what data can be obtained via these services?
Those information are related to traffic for specific roads, see the details for the API:
http://msdn.microsoft.com/en-us/library/hh441726.aspx
Also the description of each field included in the result:
http://msdn.microsoft.com/en-us/library/hh441730.aspx
You are referring to the locationCode. Those are related to the Traffic Message Channel information where the included information are the event id, the location code, expected incident duration, affected extent and other details.
Those TMC are managed in different ways depending on the country you are interested in and specialised mapping data provider can give you access to those kind of information and that's what the subscription is about. It is also related to the way you can use the TMC depending on the concerned area to get or give information from there.
For more information about TMC:
http://en.wikipedia.org/wiki/Traffic_message_channel