Sony Soundbar HT-ZF9 API setActiveTerminal showing Error 12 ; other APi's are working - api

I want to control the soundbar by LAN.
I can turn on and off the soundbar with postman and the given Sony Api's.
When i Want to change the input, in Postman appears error 12.
I don't understand why, because other API's like getInformation are working fine. (network, url, port, connection, and library should be also ok)
From the Api getInformation, I could read the information with the name of the inputs.
But then I paste them to setActiveTerminal, Error 12 occurs.
Does anyone know, where is the problem??
Here, the used code:
http://169.254.75.11:10000/sony/avContent
{
"method":"setActiveTerminal",
"id":55,
"params":[
{
"active": "active",
"uri": "extInput:hdmi?port=1"
}
],
"version":"1.0"
}

The setActiveTerminal is for activating or deactivating output ports extOutput or "zone" that it is called on the STR-DN1080. Since the ZF9 don't have multi zone capabilities the use of this method is very limited.
I'm guessing you want to set the input port and that is done via setPlayContent (with out the output parameter in the json for ZF9) see
Sony Audio Control API - Can't Change Input on AV Receiver for more info.

Related

dynamic shovels fail in Rabbitmq

I am trying to create dynamic shovels in my RabbitMQ instance both via code and using the UI. In both the cases, I am able to create the shovel. However , it's failing later on and is not able to move messages as desired.
Via Postman
PUT -- http://rabbitinstance011:15672/api/parameters/shovel/dev_test/test01
{"value": {"src-protocol": "amqp091", "src-uri": "amqp://naxi#example.com#/dev_test",
"src-queue": "dlq1", "dest-protocol": "amqp091",
"dest-uri": "amqp://naxi#example.com#/dev_test",
"dest-queue": "q1", "src-delete-after": "queue-length"}}
Response : 201
On the UI -> admin -> Shovel Status
{failed_to_connect_using_provided_uris,
[{rabbit_amqp091_shovel,make_conn_and_chan,2,
[{file,"src/rabbit_amqp091_shovel.erl"},{line,324}]},
{rabbit_amqp091_shovel,connect_source,1,
[{file,"src/rabbit_amqp091_shovel.erl"},{line,78}]},
{rabbit_shovel_worker,handle_cast,2,
[{file,"src/rabbit_shovel_worker.erl"},{line,64}]},
{gen_server2,handle_msg,2,[{file,"src/gen_server2.erl"},{line,1050}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
I receive the same errors when I try to do all of this using code as well as from the UI instead of postman.
Not sure where I am going wrong.
It was very simple. Had to create a new user without '#' in the username.

Zapier basic auth pass blank data

I have been trying to create an app in Zapier for one of my project. On the very first step, I am doing Authentication where I choose "Basic Auth" method. I have set API URL along with details, however cannot see the expected result and seeing error in my API return value. After debugging, I found that API doesn't get the value I pass thru the Zapier. I have checked the same API in postman and it works, however it only doesn't work thru the Zapier.
Below is even more detail how I proceed, what is expected result and what I am getting:
Process we're following
We have created an App
We went to Authentication step, there we have selected “Basic Auth” option
Under the Basic Auth, we have configure with setting end point and method is “Post”
We have set our field names as Key and as value we have set “{{bundle.authData.password}” and “{{bundle.authData.username}}” in order to field mapping
Then came to Step 2 to test the authentication
Under the “Test Setup”, we have connected the current Zapier account and clicked on “Test Authentication”
This process doesn’t post any value in parameters. Hope I could explain the issue, please help us to find where we’re going wrong.
Expected Result
{
"data": {
"first_name": "Dhaval",
"last_name": "Parekh",
"email_address": "dhaval.php#gmail.com",
"phone_no": "1234567890",
"user_id": "7oiA****",
"token_id": "zNkzT***"
},
"resend_verification_link": false,
"status": true,
"message": "You have successfully Logged in!!"
}
Actual Result
{
"resend_verification_link": false,
"status": false,
"message": "The password must contain a minimum of one lower case character. one upper case character, one digit"
}
What I understand after spending too much time, is it doesn't send the data with post method and hence I'm getting this issue. While it works fine with the Get Method. So, should I consider that Basic Auth will only with work with "Get" method in Zapier? Or I'm missing any piece to include here?
Please let me know what is missing? Or even I'm going thru the wrong root. I want to create an app in Zapier to allow other apps to connect.

smartREST template: custom measurement not visible as Datapoint

I created a smartREST template for measurement via "device management -> smartREST templates". I send the reading via MQTT:
s/uc/mytemplateID
777,123,stringValue
The message arrives because I can see it through the API:
{
"time":"2018-07-03T15:36:13.237+01:00",
"id":"47638",
"self":"https://myDomain.mydomain/measurement/measurements/47638",
"source":{
"id":"20018",
"self":"https://myDomain.mydomain/inventory/managedObjects/20018"
},
"type":"myType",
"myStrValue":"stringValue",
"myNumberValue":123
}
But I can not see it as a data point.
I also can not see it under: "device management -> All devices -> myDevice -> Measurements"
If the cause is that the incoming message does not have the expected format, then the question is, how can I use MQTT to send custom measurments with the expected format?
Thank you
To be able to use Cumulocity standard features on your measurements, they must adhere to a certain standard. Transform your template to create measurements like this:
{
"time":"2018-07-03T15:36:13.237+01:00",
"id":"47638",
"self":"https://myDomain.mydomain/measurement/measurements/47638",
"source":{
"id":"20018",
"self":"https://myDomain.mydomain/inventory/managedObjects/20018"
},
"type":"myType",
"myFragment":{
"mySeries":{
"value":123,
"unit":"aUnit"
},
"myOtherSeries":{
"value":321,
"unit":"anotherUnit"
}
}
}
Note that measurement values are always numeric, using string based values here may cause unwanted behavior again.
If you want to communicate string based status variables sending events or alarms is usually a better approach.
The template configuration to send such measurements should look like this:

Worklight & Location Services questions

I read the Worklight Location Services tutorial, and I have a few questions.
I need more clarity on the difference between WL.Device.Geo.acquirePosition & WL.Device.startAcquisition
Can WL.Device.Geo.acquirePosition give you the latitude & longitudes? How do I get the area names, city etc? Do I have to use google maps API?
Can you please elaborate on the below accessPointFilters configuration in a wifi policy?
Wifi : {
interval : 10000,
accessPointFilters : {
[{ SSID : "Net1" },
{ SSID : "Net2", MAC : "* "} ]
}
}
I have read that in the acquisition policy, if I mention enableHightSecurity as true, it uses GPS? If I don't use it, which mechanism will it use?
Geo: {
timeout: 3000,
enableHighAccuracy: true
},
WL.Device.Geo.acquirePosition - get your current geographic location.
WL.Device.startAcquisition - I think of it more of like doing some kind of geofencing. for more info look at http://www-01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.dev.doc/devref/t_creating_a_geofence.html?lang=en
WL.Device.Geo.acquirePosition can give you a position object based on this W3C specification. If you want to get city, state, country and other information like that you can use Google Maps API geocoding or any other geocoding api out there
From the MobileFirst Platform documentation
"{object[]} policy.Wifi.accessPointFilters Optional - An array object that specifies the WiFi access points that you want to detect. Each entry has an SSID name specification, and optionally a MAC specification. The MAC specification can be a wildcard value, represented by an asterisk (), in which case all MACs for this SSID are reported. If no MAC is specified, and this WiFi is visible, then only its SSID is reported; only a single entry appears, regardless of the number of access points that have this SSID. The SSID specification can be a wildcard, represented by an asterisk (), in which case all visible networks are reported. "
You can read more at http://www-01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.apiref.doc/html/refjavascript-server/html/WL.Device.html?cp=SSHS8R_6.3.0%2F9-1-0-1-0&lang=en
policy.Geo.enableHighAccuracy is required. If you set it to false it won't use high accuracy sensors "GPS", instead it will get your location from other means, i.e.: Network, Wifi
for more info check http://www-01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.apiref.doc/html/refjavascript-server/html/WL.Device.html?cp=SSHS8R_6.3.0%2F9-1-0-1-0
I hope this helps. To get more documentation about IBM MobileFirst Platform foundation V6.3 you can visit the Knowledge Center at http://www-01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/wl_welcome.html?lang=en
Yoel gave a great answer; regarding point #1 for additional clarification - WL.Device.Geo.acquirePosition is a single acquisition; WL.Device.startAcquisition is on-going and allows you to define various kinds of geo-fences.

Flurry Event API not returning event parameter values

I have been trying to use the EventMerics API to return detailed event parameter data.
I have setup a test application and have uploaded event data with parameters, I can see the data in the web interface.
However the API doesn't seem to return the parameter data as stated by the documentation.
The following call
http://api.flurry.com/eventMetrics/Event?apiAccessCode=xxx&apiKey=xxx&startDate=2012-08-27&endDate=2012-08-27&eventName=heatmap%20-%20iPhone-Title-all
returns:
<eventMetrics type="Event" startDate="2012-08-27" eventName="heatmap - iPhone-Title-all" endDate="2012-08-27" version="1.0" generatedDate="8/27/12 10:45 PM">
<day uniqueUsers="2" totalSessions="12" totalCount="14" date="2012-08-27"/>
<parameters/>
</eventMetrics>
....
The parameters section is empty, I am expecting the following parameter values:
{touchXY : 299,465,2012-08-27 16:40:15 +0100}
{touchXY : 301,461,2012-08-27 16:29:03 +0100}
{touchXY : 192,312,2012-08-27 16:22:54 +0100}
{touchXY : 254,461,2012-08-27 16:23:04 +0100}
Has anyone got parameter values to return via the Flurry REST API?
the API call used by you is correct. I would recommend you to write to support#flurry.com to investigate why this is not happening.
(Disclaimer: I work in the Support team at Flurry)
The event name in the request is case sensitive so you should check the way it's written on the site. I changed mine from "editor" to "Editor" and the problem resolved.