Filter
-
Content Type
-
Category
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Filter
tutorials game, mobile
bloganti-aliasing is an important addition to any game to improve visual quality by smoothing out the jagged edges of a scene. msaa (multisample anti-aliasing) is one of the oldest methods to achieve this and is still the preferred solution for mobile. however it is only suitable for forward rendering and, with mobile performance improving year over year, deferred rendering is becoming more common, necessitating the use of post-process aa. this leaves slim pickings as such algorithms tend to be too expensive for mobile gpus with fxaa (fast approximate anti-aliasing) being the only ‘cheap’ option among them. fxaa may be performant enough but it only has simple colour discontinuity shape detection, leading to an often unwanted softening of the image. its kernel is also limited in size, so it struggles to anti-alias longer edges effectively. space module scene with cmaa applied. conservative morphological anti-aliasing conservative morphological anti-aliasing (cmaa) is a post-process aa solution originally developed by intel for their low power integrated gpus 1. its design goals are to be a better alternative to fxaa by: being minimally invasive so it can be acceptable as a replacement in a wide range of applications, including worst case scenarios such as text, repeating patterns, certain geometries (power lines, mesh fences, foliage), and moving images. running efficiently on low-medium range gpu hardware, such as integrated gpus (or, in our case, mobile gpus). we have repurposed this desktop-developed algorithm and come up with a hybrid between the original 1.3 version and the updated 2.0 version 2 to make the best use of mobile hardware. a demo app was created using khronos’ vulkan samples as a framework (which could also be done with gles) to implement this experiment. the sample has a drop down menu for easy switching between the different aa solutions and presents a frametime and bandwidth overlay. cmaa has four basic logical steps: image analysis for colour discontinuities (afterwards stored in a local compressed 'edge' buffer). the method used is not unique to cmaa. extracting locally dominant edges with a small kernel. (unique variation of existing algorithms.) handling of simple shapes. handling of symmetrical long edge shapes. (unique take on the original mlaa shape handling algorithm.) pass 1 edge detection result captured in renderdoc. a full screen edge detection pass is done in a fragment shader and the resulting colour discontinuity values are written into a colour attachment. our implementation uses the pixels’ luminance values to find edge discontinuities for speed and simplicity. an edge exists if the contrast between neighbouring pixels is above an empirically determined threshold. pass 2 neighbouring edges considered for local contrast adaptation. a local contrast adaptation is performed for each detected edge by comparing the value of the previous pass against the values of its closest neighbours by creating a threshold from the average and largest of these, as described by the formula below. any that pass the threshold are written into an image as a confirmed edge. threshold = (avg+avgxy) * (1.0 - nondominantedgeremovalamount) + maxe * (nondominantedgeremovalamount); nondominantedgeremovalamount is another empirically determined variable. pass 3 this pass collects all the edges for each pixel from the previous pass and packs them into a new image for the final pass. this pass also does the first part of edge blending. the detected edges are used to look for 2, 3 and 4 edges in a pixel and then blend in the colours from the adjacent pixels. this helps avoid the unnecessary blending of straight edges. pass 4 the final pass does long edge blending by identifying z-shapes in the detected edges. for each detected z-shape, the length of the edge is traced in both directions until it reaches the end or until it runs into a perpendicular edge. pixel blending is then performed along the traced edges proportional to their distance from the centre. before and after of z-shape detection. results image comparison shows a typical scenario for aa. cmaa manages high quality anti-aliasing while retaining sharpness on straight edges. cmaa demonstrates itself as a superior solution to aliasing than fxaa by avoiding the latter’s limitations. it maintains a crisper look to the overall image and won’t smudge thin lines, all while still providing effective anti-aliasing to curved edges. it also provides a significant performance advantage to qualcomm devices and only a small penalty to arm. image comparison shows a weakness of fxaa where it smudges thin lined geometry into the background. cmaa shows no such weakness and retains the colour of the railing while adding anti-aliasing effectively. msaa is still a clear winner and our recommended solution if your game allows for it to be resolved within a single render pass. for any case where that is impractical, cmaa is overall a better alternative than fxaa and should be strongly considered. graph shows the increase in frametime for each aa method across a range of samsung devices. follow up this site has many resources for developers looking to build for and integrate with samsung devices and services. stay in touch with the latest news by creating a free account or by subscribing to our monthly newsletter. visit the marketing resources page for information on promoting and distributing your apps. finally, our developer forum is an excellent way to stay up-to-date on all things related to the galaxy ecosystem. references filip strugar and leigh davies: conservative morphological anti-aliasing (cmaa) – march 2014. filip strugar and adam t lake: conservative morphological anti-aliasing 2.0 – april 2018.
Samsung GameDev Team
Connect Samsung Developer Conference
webtech square products and services using our new technology are displayed in the space by each field, and you can find details in the keynote speech and sessions. platform innovation home & health experience mobile & screen experience sustainability category platform innovation home & health experience mobile & screen experience sustainability smartthings matter/hub the most comprehensive iot platform for matter. the matter-compatible smartthings hub has been deeply integrated across samsung tvs, family hub refrigerators, smart monitors, and mobile chargers. working together, these hubs can form a multi-hub network for wider coverage and better reliability. setting up a new hub is also easier than ever with our new hub replacement tool. smartthings find & galaxy smarttag2 to keep your belongings and loved ones safe, you can use the newly updated smartthings find and smarttag2. with the new lost mode, someone who has found your misplaced key simply can tap their phone to the tag2 to contact you. you can even use tag2 to keep your pets healthy. attach a tag2 to your dog’s collar and keep track of their walking habits. smartthings home view smartthings home view provides an indoor map of your home, allows you to set the location of rooms and easily control your home devices at once, and displays environmental information such as room temperature and humidity, making your smart device experience easier and more intuitive. we also provide various ways to create indoor maps using ai technology. smartthings tv experience find out more about enhanced tv experiences with smartthings, including ring my phone, built-in smart home hub and home monitoring, and on a galaxy smart phone, the quick tv remote functionality. wwst partner find out about upcoming "works with smartthings" partner devices, including interesting gadgets, harman speakers, and presence sensors. calm onboarding calm onboarding is a stepping stone to a convenient life. it allows the user to complete device registration in the background by linking product purchase information, or by temporarily registering nearby devices and completing the final confirmation - the user just needs to have a previously registered device to connect to. smartthings ecosystem wall smartthings has been developed with support for the matter protocol and hca standards. it's an ever-evolving system, continually expanding user device options and enhancing usability. in close partnership with major home iot companies like philips hue / aeotec and other device-focused allies, we're delivering unique advantages to both partners and end-users. back to previous page vision ai pro cooking: bespoke view camera oven and camera wall oven the vision ai pro cooking camera oven optimizes cooking settings while monitoring food. if the oven is set to cook a recognized dish, it recommends a cooking mode, temperature, and time. the user can see how their meal is coming along in real time. during cooking, the oven detects cooking status, and afterwards, creates a time-lapse. screens everywhere at home we are building a screen ecosystem by expanding the tizen os to all of our home appliances. in this booth, we will display a family hub refrigerator with a 32-inch screen and a wall oven with a 7-inch screen, which you can use to experience various services such as multimedia, iot, and ai. samsung food: food your way samsung food offers a single platform to take you from "what’s for dinner?" to food on the table. discover recipe inspiration and storage, meal planning, nutritional information, automatic shopping lists, guided cooking, and sharing recipes and reviews with your friends. we put the world’s food knowledge at your fingertips! expand your health experience with samsung health making healthy habits easier with samsung health and new galaxy watch. samsung health can help you develop healthy habits by providing insights on what you’re doing well and what needs improvement, based on measurement data. leveraging galaxy watch's advanced health sensors tracking of raw or processed health sensor data from a galaxy watch is available through the samsung privileged health sdk. specialized features of the galaxy watch, like body composition and skin temperature measurements, can easily be utilized in wear os applications. the sdk maintains low watch battery consumption during continuous data tracking. empowering research & clinical experiences with samsung health stack samsung health stack is an open source project that provides end-to-end solutions such as application sdk, web portal, and backend systems for various use cases from medical research studies to clinician services using wearable devices. in this booth, you can explore all features of samsung health stack and check out some of its real-world use cases. back to previous page where gaming comes together gaming hub is an all-in-one platform where users can spend more time together and enjoy a variety of games through streaming, with over 3,000 titles from industry-leading partners. in addition, we'll be demonstrating to game developers how to utilize gamepads effectively with live demos, and have content for gamepad manufacturers interested in tv integration. deliver the best multi-device experience between samsung devices multi-control allows you to control two or more devices at the same time with a keyboard or mouse. you can access content such as news and netflix using your mouse, without needing the remote control, and then immediately continue using the mouse to work with your pc. introduction to iris (instant rendering & immediate sign-off) for hdr10+ gaming iris is a software tool that provides real-time, simulated rendering of hdr10+ gaming, hdr10, or sdr on multiple connected displays. this exhibition covers the overview of hdr10+ gaming, iris features, and how game developers can utilize it for their development and qc process. currently, iris works based on an nvidia api for the hdr10+ gaming communication protocols. feel the pleasure and value of being together with witty conversations chat together lets you talk remotely while watching your favorite tv programs. a click on a pop-up notification will start a chat together session. you can chat using either ai-recommended text and emojis, voice input, or mobile application and web browser. we are also developing other tv applications that provide togetherness experiences with a tv chat open api and platform. camera experience for tv any application that uses a camera can join camera experience. so far, we have a video call, workout, health care and gesture applications. you can easily create camera applications for tv by using our open api and platform. cheering together with emoticons and enjoyable events while watching sports cheer together lets you move beyond just watching tv, by providing experience that family and others can share while watching sports, through cheering emoticons and co-participating in events according to the cheering mood. we are planning to auto-generate emoticons with the user's voice to provide them with more ways to express enjoyment. remote test lab for tv remote test lab is a solution that makes it easy for tv application developers to use any real tvs they want. if you have an internet-connected pc, you can configure a remote development environment using a real tv. we support various models based on product and year, and no further effort is required to get access to specific models. all you need is your pc. smart edge blending - merge screens using two freestyle 2023 projectors. to use smart edge blending, two freestyle projectors are placed horizontally or vertically, and the edge blending function, which connects the images, is set up by taking a picture on the smartthings mobile application. samsung wallet: add to wallet add to samsung wallet is an e-wallet service that allows customers using samsung devices to add various digitized contents to samsung wallet. users can add their event tickets, coupons, boarding passes, and other types of data into samsung wallet using "add to samsung wallet" buttons in applications, web pages, e-mail, or social media messages by various content providers. samsung wallet: online payment check out faster in our payment apps. there's no need to enter your credit card number for in-app or online purchases—simply select samsung pay at checkout and authenticate the purchase with your fingerprint or pin. samsung wallet: student / company id add your student or company id to samsung wallet to make access simple. open doors, get into the library and events, pay for lunch, and more with just a tap of your phone or watch. experience the convenience of your student or company id working when your screen is off and your phone is locked, and even when your battery runs out. samsung wallet: mobile driver’s license / state id users will soon be able to add their driver’s license or state id to samsung wallet. initially, mobile driver’s licenses / state ids will work in a limited number of states at select tsa checkpoints to verify an id with just a tap. advanced professional video codec the advanced professional video (apv) codec is a new video codec for prosumers who want cinematic-quality video recording and post-production with smart phones. the apv codec provides perceptually lossless video quality and consumes 20% less storage compared to existing formats. back to previous page net zero home: build a sustainable home with smartthings energy smartthings energy connects everything from solar panels to your ev chargers to build a sustainable home. through partnership, smartthings energy lets you manage your energy production, storage and consumption and lowers your monthly energy bill and carbon footprint. open license for solar cell remote tech the solar cell remote is eco-friendly remote controller made out of recyclable materials that creates no battery waste, and incorporates improvements based on research into the potential environmental pollutants caused in remote control production. by opening the solar cell remote control technology to everyone, eco-friendly technology can be distributed wider. intelligent power saving intelligent power saving is power reduction based on human vision characteristics. a deep learning algorithm identifies regions of non-interest, which helps in reducing power consumption without letting the user notice any changes in the image. relumino mode relumino mode improves visual accessibility by making it easier to recognize objects. the edge thickness and colors in the image can be controlled depending on the user's vision level. the "together mode" supports a social tv watching experience, by displaying the original and relumino mode videos at the same time, allowing users to watch tv with their families. spoken subtitles people with low vision, or who cannot read the subtitles, will better understand foreign content such as movies if the tv gives them narration by reading the subtitles out loud. resource circulation gallery our goal at samsung is to apply recycled resin to 100% of the plastic components used in our products by 2050. we're using materials like fishing nets and recycled glass for samsung galaxy products, crafting tv covers from low-carbon resin captured from carbon emissions, and developing microplastic-filtering technology to reduce marine pollution. circular factory we’re highlighting samsung's processes for upcycling waste, showing how our research is integrated into products. we’re uncovering recyclable materials from waste products and are creating a roadmap for how that waste can be reintegrated into samsung products. back to previous page
Develop Smart Signage
docsystemcontrol api usage this document describes new usages of samsung product systemcontrol api for tizen 6 5 and higher, and differences with sssp b2bcontrol api related info samsung product systemcontrol api generals privilege http //developer samsung com/privilege/systemcontrol privilege level partner api usages webapis systemcontrol getversion this interface provides methods to get systemcontrol module version sssp api sample code var version = null; try { version = b2bapis b2bcontrol getversion ; } catch e { console log "[getversion] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== version { console log "[getversion] call syncfunction type " + version ; } samsung product api sample code var version = null; try { version = webapis systemcontrol getversion ; } catch e { console log "[getversion] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== version { console log "[getversion] call syncfunction type " + version ; } webapis systemcontrol capturescreen this interface provides a method to capture the screen saved path /opt/share/magicinfo/screencapture jpg sssp api sample code var onsuccess = function val { console log "[capturescreen] success " + val ; }; var onerror = function error { console log "[capturescreen] code " + error code + " error name " + error name + " message " + error message ; }; console log "[capturescreen] " ; b2bapis b2bcontrol capturescreen onsuccess, onerror ; samsung product api sample code try { webapis systemcontrol capturescreen ; } catch e { console log "[capturescreen] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } webapis systemcontrol rebootdevice this interface provides a method to reboot the device power off the device and restart sssp api sample code var onsuccess = function val { console log "[rebootdevice] success " + val ; }; var onerror = function error { console log "[rebootdevice] code " + error code + " error name " + error name + " message " + error message ; }; console log "[rebootdevice] " ; b2bapis b2bcontrol rebootdevice onsuccess, onerror ; samsung product api sample code try { webapis systemcontrol rebootdevice ; } catch e { console log "[rebootdevice] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } webapis systemcontrol getserialnumber this interface provides a method to get the device serial number sssp api sample code var serialnumber = null; try { serialnumber = b2bapis b2bcontrol getserialnumber ; } catch e { console log "[getserialnumber] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== serialnumber { console log "[getserialnumber] call syncfunction type " + serialnumber ; } samsung product api sample code var serialnumber = null; try { serialnumber = webapis systemcontrol getserialnumber ; } catch e { console log "[getserialnumber] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== serialnumber { console log "[getserialnumber] call syncfunction type " + serialnumber ; } webapis systemcontrol updatefirmware this interface provides a method to update firmware sssp api sample code var onsuccess = function val { console log "[updatefirmware] success " + val ; }; var onerror = function error { console log "[updatefirmware] code " + error code + " error name " + error name + " message " + error message ; }; var softwareid = "0"; var swufilename = "upgrade bem"; var swversion = "t-hkmlakuc 0227 20"; var swurl = "http //ip/t-hkmlakuc_0227_20/image/upgrade bem"; var swtotalbytes = 1007396825; b2bapis b2bcontrol updatefirmware softwareid, swufilename, swversion, swurl, swtotalbytes, onsuccess, onerror ; samsung product api sample code var softwareid = "0"; var swufilename = "upgrade bem"; var swversion = "t-hkmlakuc 0227 20"; var swurl = "http //ip/t-hkmlakuc_0227_20/image/upgrade bem";; var swtotalbytes = 1007396825; webapis systemcontrol updatefirmware softwareid, swufilename, swversion, swurl, swtotalbytes ; webapis productinfo getfirmware this interface provides methods to retrieve firmware version sssp api sample code var firmwareversion = null; try { firmwareversion = b2bapis b2bcontrol getfirmwareversion ; } catch e { console log "[getfirmwareversion] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== firmwareversion { console log "[getfirmwareversion] call syncfunction type " + firmwareversion ; } samsung product api sample code try { var value = webapis productinfo getfirmware ; console log " firmware value = " + value ; } catch error { console log " error code = " + error code ; } webapis systemcontrol setupdatefirmwarelistener this method adds the asynchronous onchange callback for the firmware update progress to a module sssp api sample code var onchange = function data { console log "[updatefirmwareprogresschangedcallback] progress " + data + " changed" ; }; try { b2bapis b2bcontrol setupdatefirmwareprogresschangelistener onchange ; } catch e { console log "setupdatefirmwareprogresschangelistener exception [" + e code + "] name " + e name + " message " + e message ; } samsung product api sample code var onchange = function data { console log "[updatefirmwareprogresschangedcallback] progress " + data + " changed" ; }; try { webapis systemcontrol setupdatefirmwarelistener onchange ; } catch e { console log "setupdatefirmwarelistener exception [" + e code + "] name " + e name + " message " + e message ; } webapis systemcontrol unsetupdatefirmwarelistener this method removes the asynchronous onchange callback for the firmware update progress from a module sssp api sample code try { console log "begin unsetupdatefirmwareprogresschangelistener" ; b2bapis b2bcontrol unsetupdatefirmwareprogresschangelistener ; } catch e { console log "unsetupdatefirmwareprogresschangelistener exception [" + e code + "] name " + e name + " message " + e message ; } samsung product api sample code try { console log "begin unsetupdatefirmwarelistener" ; webapis systemcontrol unsetupdatefirmwarelistener ; } catch e { console log "unsetupdatefirmwarelistener exception [" + e code + "] name " + e name + " message " + e message ; } webapis systemcontrol setscreenlampschedule this interface provides a method to set the screen lamp schedule, which contains values for time and lamp level value sssp api sample code var onsuccess = function val { console log "[setlampschedule] success " + val ; }; var onerror = function error { console log "[setlampschedule] code " + error code + " error name " + error name + " message " + error message ; }; console log "[setlampschedule] " ; b2bapis b2bcontrol setlampschedule "on","10 30",100,"20 30",50, onsuccess, onerror ; samsung product api sample code var info = { "use" "on", "firsttime" "08 55", "level1" 30, "secondtime" "16 50", "level2" 80 }; try { webapis systemcontrol setscreenlampschedule info ; } catch e { console log "[setscreenlampschedule] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } webapis systemcontrol getscreenlampschedule this interface provides a method to get screen lamp schedule information sssp api sample code var lampschedule = null; try { lampschedule = b2bapis b2bcontrol getlampschedule ; } catch e { console log "[getlampschedule] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== lampschedule { console log "[getlampschedule] call syncfunction type " + lampschedule ; } samsung product api sample code var screenlampschedule = null; try { screenlampschedule = webapis systemcontrol getscreenlampschedule ; } catch e { console log "[getscreenlampschedule] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== screenlampschedule { console log "[getscreenlampschedule] call syncfunction type " + screenlampschedule ; } webapis systemcontrol setpanelmute this interface provides a method to set the panel mute state of a device sssp api sample code var onsuccess = function val { console log "[setpanelmute] success " + val ; }; var onerror = function error { console log "[setpanelmute] code " + error code + " error name " + error name + " message " + error message ; }; b2bapis b2bcontrol setpanelmute "on", onsuccess, onerror ; samsung product api sample code try { webapis systemcontrol setpanelmute "on" ; } catch e { console log "[setpanelmute] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } webapis systemcontrol getpanelmute this interface provides a method to get the current panel mute state of a device sssp api sample code var panelmuteonoff = null; try { panelmuteonoff = b2bapis b2bcontrol getpanelmutestatus ; } catch e { console log "[getpanelmutestatus] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== panelmuteonoff { console log "[getpanelmutestatus] call syncfunction type " + panelmuteonoff ; } samsung product api sample code var panelmuteonoff = null; try { panelmuteonoff = webapis systemcontrol getpanelmute ; } catch e { console log "[getpanelmute] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== panelmuteonoff { console log "[getpanelmute] call syncfunction type " + panelmuteonoff ; } webapis systemcontrol setsafetylock this interface provides a method to set the safety lock status of a device when the safety lock is set to on, a pin number input window appears when an input signal is received by the device sssp api sample code var onsuccess = function val { console log "[setsafetylock] success " + val ; }; var onerror = function error { console log "[setsafetylock] code " + error code + " error name " + error name + " message " + error message ; }; b2bapis b2bcontrol setsafetylock "on", onsuccess, onerror ; samsung product api sample code try { webapis systemcontrol setsafetylock "on" ; } catch e { console log "[setsafetylock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } webapis systemcontrol getsafetylock this interface provides a method to get the current safety lock status of a device sssp api sample code var safetylock = null; try { safetylock = b2bapis b2bcontrol getsafetylock ; } catch e { console log "[getsafetylock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== safetylock { console log "[getsafetylock] call syncfunction type " + safetylock ; } samsung product api sample code var safetylock = null; try { safetylock = webapis systemcontrol getsafetylock ; } catch e { console log "[getsafetylock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== safetylock { console log "[getsafetylock] call syncfunction type " + safetylock ; } webapis systemcontrol getonscreenmenuorientation this interface provides a method to get the current menu orientation of a device sssp api sample code var menuorientation = null; try { menuorientation = b2bapis b2bcontrol getmenuorientation ; } catch e { console log "[getmenuorientation] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== menuorientation { console log "[getmenuorientation] call syncfunction type " + menuorientation ; } samsung product api sample code var onscreenmenuorientation = null; try { onscreenmenuorientation = webapis systemcontrol getonscreenmenuorientation ; } catch e { console log "[getonscreenmenuorientation] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== onscreenmenuorientation { console log "[getonscreenmenuorientation] call syncfunction type " + onscreenmenuorientation ; } webapis systemcontrol getsourceorientation this interface provides a method to get the current source orientation of the device sssp api sample code var onsuccess = function val { console log "[getsourceorientation] success " + val ; }; var onerror = function error { console log "[getsourceorientation] code " + error code + " error name " + error name + " message " + error message ; }; b2bapis b2bcontrol getsourceorientation "hdmi1" ; samsung product api sample code var result = null; try { result = webapis systemcontrol getsourceorientation ; } catch e { console log "[getsourceorientation] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } console log "[getsourceorientation] call syncfunction type " + result ; webapis systemcontrol setpcconnection this interface provides a method to set the pcconnection value of a device sssp api sample code var onsuccess = function val { console log "[setpcconnection] success " + val ; }; var onerror = function error { console log "[setpcconnection] code " + error code + " error name " + error name + " message " + error message ; }; b2bapis b2bcontrol setpcconnection "rj45", onsuccess, onerror ; samsung product api sample code try { webapis systemcontrol setpcconnection "rj45" ; } catch e { console log "[setpcconnection] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } webapis systemcontrol getpcconnection this interface provides a method to get the pcconnection value of a device sssp api sample code var pcconnection = null; try { pcconnection = b2bapis b2bcontrol getpcconnection ; } catch e { console log "[getpcconnection] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== pcconnection { console log "[getpcconnection] call syncfunction type " + pcconnection ; } samsung product api sample code var pcconnection = null; try { pcconnection = webapis systemcontrol getpcconnection ; } catch e { console log "[getpcconnection] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== pcconnection { console log "[getpcconnection] call syncfunction type " + pcconnection ; } webapis systemcontrol setmessagedisplay this interface provides a method to enable or disable osd on screen display messages on the device this controls the display of system messages on the device screen the following messages are affected by this setting source info, no signal message, mdc message, download status message sssp api sample code var onsuccess = function val { console log "[setosdmute] success " + val ; }; var onerror = function error { console log "[setosdmute] code " + error code + " error name " + error name + " message " + error message ; }; b2bapis b2bcontrol setosdmute "on", onsuccess, onerror ; samsung product api sample code try { webapis systemcontrol setmessagedisplay "on" ; } catch e { console log "[setmessagedisplay] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } webapis systemcontrol getmessagedisplay this interface provides a method to get the osd message display status of the device the following messages are affected by this setting source info, no signal message, mdc message, download status message sssp api sample code var osdmute = null; try { osdmute = b2bapis b2bcontrol getosdmute ; } catch e { console log "[getosdmute] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== osdmute { console log "[getosdmute] call syncfunction type " + osdmute ; } samsung product api sample code var messagedisplay = null; try { messagedisplay = webapis systemcontrol getmessagedisplay ; } catch e { console log "[getmessagedisplay] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if null !== messagedisplay { console log "[getmessagedisplay] call syncfunction type " + messagedisplay ; }
Develop Smart Hospitality Display
apisystemcontrol api to use samsung product api, <script type="text/javascript" src="$webapis/webapis/webapis js"></script> should be loaded in index html this module defines functionalities for retrieving device information provided by the samsung product api the systemcontrol module provides additional functionalities for samsung b2b devices as a webapi you can use this webapi to retrieve and manage the system information for b2b devices since 6 5 product b2b privilege level partner privilege http //developer samsung com/privilege/systemcontrol summary of interfaces and methods interface method lampscheduleinfo customappinfo magicinfoserverinfo systemcontrolmanagerobject systemcontrolmanager domstring getversion ;void capturescreen optional capturepath? path ;void rebootdevice ;domstring getserialnumber ;void updatefirmware domstring softwareid, domstring swufilename, domstring swversion, domstring swurl, long swtotalbytes ;void setupdatefirmwarelistener updatefirmwareprogresschangedcallback onchange ;void unsetupdatefirmwarelistener ;void setscreenlampschedule lampscheduleinfo info ;lampscheduleinfo getscreenlampschedule ;void setpanelmute activation enable ;activation getpanelmute ;void setsafetylock activation enable ;activation getsafetylock ;screenorientation getonscreenmenuorientation ;screenorientation getsourceorientation sourcetype source ;void setpcconnection pcconnection type ;pcconnection getpcconnection ;void setmessagedisplay activation enable ;activation getmessagedisplay ;void setcustomappinfo customappinfo info ;customappinfo getcustomappinfo ;void setirlock activation option ;activation getirlock ;void setbuttonlock activation opti on ;activation getbuttonlock ;void setautopoweron activation option ;activation getautopoweron ;void setmagicinfoserverinfo magicinfoserverinfo info ;magicinfoserverinfo getmagicinfoserverinfo ;boolean iscustomappdownloaded ;void setcustomappdownloadlistener customappdownloadlistener ondownloaded ;void unsetcustomappdownloadlistener ; updatefirmwareprogresschangedcallback void onchange long progress ; customappdownloadlistener void ondownloaded ; forwardmessagecallback void onchange forwardmessagedata data ; privateappcompletelistener void ondeleted domstring data ; 1 type definitions 1 1 activation whether the feature is enabled enum activation { "on", "off" }; the following values are supported on enabled off disabled since 6 5 1 2 screenorientation screen orientation of the device enum screenorientation { "landscape", "portrait", "auto" }; the following values are supported landscape horizontal orientation portrait vertical orientation auto automatic based on the screen rotation since 6 5 1 3 pcconnection computer connection type of the device enum pcconnection { "rj45", "rs232", "invalid" }; the following values are supported rj45 rj45 connection rs232 rs-232 connection invalid invalid connection type since 6 5 1 4 customapptimeout timeout values for waiting connection of custom url enum customapptimeout { "30sec", "60sec", "90sec", "120sec", "150sec", "180sec", "240sec", "300sec" }; the following values are supported 30sec timeout set to 30 seconds 60sec timeout set to 60 seconds 90sec timeout set to 90 seconds 120sec timeout set to 120 seconds 150sec timeout set to 150 seconds 180sec timeout set to 180 seconds 240sec timeout set to 240 seconds 300sec timeout set to 300 seconds since 6 5 1 5 capturepath the following virtual roots must be supported for capture file enum capturepath { "wgt-private-data", "wgt-private-tmp" }; the following values are supported wgt-private-data - the location for a widget's private data storage wgt-private-tmp - the location for a widget's private volatile storage since 6 5 2 interfaces 2 1 lampscheduleinfo object containing lamp schedule settings [nointerfaceobject] interface lampscheduleinfo { attribute activation use; attribute domstring firsttime; attribute long level1; attribute domstring secondtime; attribute long level2; }; attributes activation use lamp schedule status domstring firsttime first scheduled time of day, in the format "hours minutes" long level1 lamp level for the first scheduled time the value is a number between 0 and 100 domstring secondtime second scheduled time of day, in the format "hours minutes" long level2 lamp level for the second scheduled time the value is a number between 0 and 100 2 2 customappinfo object containing customapp url and timeout [nointerfaceobject] interface customappinfo { attribute domstring downloadserveraddress; attribute customapptimeout connectiontimeout; }; attributes domstring downloadserveraddress url of customapp server customapptimeout connectiontimeout timeout for network connecttion 2 3 magicinfoserverinfo object containing ssl option, address, port [nointerfaceobject] interface magicinfoserverinfo { attribute domstring ssl; attribute domstring address; attribute domstring port; }; attributes domstring ssl ssl of magicinfo server domstring address address of magicinfo server domstring port port of magicinfo server 2 4 systemcontrolmanagerobject defines a webapi object instance of the samsung product api the webapis systemcontrol object enables access to systemcontrol api functionality [nointerfaceobject] interface systemcontrolmanagerobject { readonly attribute systemcontrolmanager systemcontrol; }; webapi implements systemcontrolmanagerobject; attributes readonly systemcontrolmanager systemcontrol systemcontrol api namespace since 6 5 2 5 systemcontrolmanager provides methods for systemcontrol functionalities [nointerfaceobject] interface systemcontrolmanager { domstring getversion ; void capturescreen optional capturepath? path ; void rebootdevice ; domstring getserialnumber ; void updatefirmware domstring softwareid, domstring swufilename, domstring swversion, domstring swurl, long swtotalbytes ; void setupdatefirmwarelistener updatefirmwareprogresschangedcallback onchange ; void unsetupdatefirmwarelistener ; void setscreenlampschedule lampscheduleinfo info ; lampscheduleinfo getscreenlampschedule ; void setpanelmute activation enable ; activation getpanelmute ; void setsafetylock activation enable ; activation getsafetylock ; screenorientation getonscreenmenuorientation ; screenorientation getsourceorientation sourcetype source ; void setpcconnection pcconnection type ; pcconnection getpcconnection ; void setmessagedisplay activation enable ; activation getmessagedisplay ; void setcustomappinfo customappinfo info ; customappinfo getcustomappinfo ; void setirlock activation option ; activation getirlock ; void setbuttonlock activation option ; activation getbuttonlock ; void setautopoweron activation option ; activation getautopoweron ; void setmagicinfoserverinfo magicinfoserverinfo info ; magicinfoserverinfo getmagicinfoserverinfo ; boolean iscustomappdownloaded ; void setcustomappdownloadlistener customappdownloadlistener ondownloaded ; void unsetcustomappdownloadlistener ; }; since 6 5 methods getversion retrieves the systemcontrol module version on the device domstring getversion ; product b2b privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value domstring domstring systemcontrol plug-in version exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var version = null; try { version = webapis systemcontrol getversion ; } catch e { console log "[getversion] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if version { console log "[getversion] call syncfunction type " + version ; } capturescreen creates a screen capture of the device it is saved in the form of screencapture jpg file under the path entered by the user if there is no input path, it is saved in the form of /tmp/screencapture jpg, which is the default path if the api is called on the same path, the file will be overwritten it can be controlled using filesystem webapi void capturescreen optional capturepath? path ; product b2b lfd, iwb privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters path [optional][nullable] user input screencapture saved path,default path is /tmp/screencapture jpg exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example try { webapis systemcontrol capturescreen "wgt-private-tmp" ; } catch e { console log "[capturescreen] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } rebootdevice reboots switches off and on again the device void rebootdevice ; product b2b privilege level partner privilege http //developer samsung com/privilege/systemcontrol exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example try { webapis systemcontrol rebootdevice ; } catch e { console log "[rebootdevice] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getserialnumber retrieves the device serial number domstring getserialnumber ; product b2b privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value domstring device serial number exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var serialnumber = null; try { serialnumber = webapis systemcontrol getserialnumber ; } catch e { console log "[getserialnumber] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if serialnumber { console log "[getserialnumber] call syncfunction type " + serialnumber ; } updatefirmware updates the device firmware void updatefirmware domstring softwareid, domstring swufilename, domstring swversion, domstring swurl, long swtotalbytes ; product b2b lfd, htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters softwareid unique firmware id swufilename bem file name swversion firmware version swurl full path to the bem file swtotalbytes bem file size exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type invalidvalueserror if any input parameter contains an invalid value with the error type notsupportederror if this feature is not supported with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var softwareid = "0"; var swufilename = "upgrade bem"; var swversion = "t-hkmlakuc 0227 20"; var swurl = "http //10 88 43 36 8080/new2016/saurabh/swupdate/t-hkmlakuc_0227_20/image/upgrade bem"; var swtotalbytes = 1007396825; webapis systemcontrol updatefirmware softwareid, swufilename, swversion, swurl, swtotalbytes ; setupdatefirmwarelistener registers an asynchronous onchange firmware update progress callback void setupdatefirmwarelistener updatefirmwareprogresschangedcallback onchange ; product b2b lfd, htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters onchange callback method to invoke exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var onchange = function data { console log "[updatefirmwareprogresschangedcallback] progress " + data + " changed" ; } try { webapis systemcontrol setupdatefirmwarelistener onchange ; } catch e { console log "setupdatefirmwarelistener exception [" + e code + "] name " + e name + " message " + e message ; ; } unsetupdatefirmwarelistener unregisters the asynchronous onchange firmware update progress callback void unsetupdatefirmwarelistener ; product b2b lfd, htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported since 6 5 code example function unsetupdatefirmwarelistener { try { console log "begin unsetupdatefirmwarelistener" ; webapis systemcontrol unsetupdatefirmwarelistener ; } catch e { console log "unsetupdatefirmwarelistener exception [" + e code + "] name " + e name + " message " + e message ; return; } } setscreenlampschedule defines the screen lamp schedule for the device, consisting of time of day and lamp brightness level void setscreenlampschedule lampscheduleinfo info ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters info object containing the times and levels to be set exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example var info = { "use" "on", "firsttime" "08 55", "level1" 30, "secondtime" "16 50", "level2" 80 }; try { webapis systemcontrol setscreenlampschedule info ; } catch e { console log "[setscreenlampschedule] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getscreenlampschedule retrieves screen lamp schedule information for the device lampscheduleinfo getscreenlampschedule ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value lampscheduleinfo lampscheduleinfo object containing time and level information exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported since 6 5 code example var screenlampschedule = null; try { screenlampschedule = webapis systemcontrol getscreenlampschedule ; } catch e { console log "[getscreenlampschedule] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if screenlampschedule { console log "[getscreenlampschedule] call syncfunction type " + screenlampschedule ; } setpanelmute enables or disables panel mute on the device void setpanelmute activation enable ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters enable whether panel mute is enabled on to enable, off to disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example try { webapis systemcontrol setpanelmute "on" ; } catch e { console log "[setpanelmute] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getpanelmute retrieves the panel mute status of the device activation getpanelmute ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation panel mute status exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var panelmuteonoff = null; try { panelmuteonoff = webapis systemcontrol getpanelmute ; } catch e { console log "[getpanelmute] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if panelmuteonoff { console log "[getpanelmute] call syncfunction type " + panelmuteonoff ; } setsafetylock enables or disables the safety lock on the device when the safety lock is enabled, pin entry is required when an input signal is received void setsafetylock activation enable ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters enable whether the safety lock is enabled on to enable, off to disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example try { webapis systemcontrol setsafetylock "on" ; } catch e { console log "[setsafetylock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getsafetylock retrieves the safety lock status of the device activation getsafetylock ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation safety lock status exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var safetylock = null; try { safetylock = webapis systemcontrol getsafetylock ; } catch e { console log "[getsafetylock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if safetylock { console log "[getsafetylock] call syncfunction type " + safetylock ; } getonscreenmenuorientation retrieves the menu orientation of the device screenorientation getonscreenmenuorientation ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value screenorientation menu orientation exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var screenmenuorientation = null; try { screenmenuorientation = webapis systemcontrol getonscreenmenuorientation ; } catch e { console log "[getonscreenmenuorientation] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if screenmenuorientation { console log "[getonscreenmenuorientation] call syncfunction type " + screenmenuorientation ; } getsourceorientation retrieves the source orientation of the device screenorientation getsourceorientation sourcetype source ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters source value want to know the orientation of the source return value screenorientation source orientation exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var result = null; try { result = webapis systemcontrol getsourceorientation "hdmi1" ; console log "[getsourceorientation] call syncfunction type " + result ; } catch e { console log "[getsourceorientation] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } setpcconnection sets the computer connection type for the device void setpcconnection pcconnection type ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters type computer connection type exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example try { webapis systemcontrol setpcconnection "rj45" ; } catch e { console log "[setpcconnection] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getpcconnection retrieves the computer connection type for the device pcconnection getpcconnection ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value pcconnection computer connection type exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var pcconnection = null; try { pcconnection = webapis systemcontrol getpcconnection ; } catch e { console log "[getpcconnection] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if pcconnection { console log "[getpcconnection] call syncfunction type " + pcconnection ; } setmessagedisplay enables or disables on screen display osd for system messages on the device the following messages are affected by this setting source info, no signal message, mdc message void setmessagedisplay activation enable ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters enable osd message display status on to enable, off to disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example try { webapis systemcontrol setmessagedisplay "on" ; } catch e { console log "[setmessagedisplay] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getmessagedisplay retrieves the osd message display status of the device the following messages are affected by this setting source info, no signal message, mdc message if any of these message types is set to on, this method returns on activation getmessagedisplay ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation osd message display status exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var messagedisplay = null; try { messagedisplay = webapis systemcontrol getmessagedisplay ; } catch e { console log "[getmessagedisplay] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if messagedisplay { console log "[getmessagedisplay] call syncfunction type " + messagedisplay ; } setcustomappinfo defines the set customapp url and timeout void setcustomappinfo customappinfo info ; product b2b htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters info object containing the times and url to be set exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example var info = { "downloadserveraddress" "http //testserver/testwebapp/check", "connectiontimeout" "30sec" }; try { webapis systemcontrol setcustomappinfo info ; } catch e { console log "[setcustomappinfo] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getcustomappinfo retrieves information of customapp url and timeout customappinfo getcustomappinfo ; product b2b htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value customappinfo customappinfo object containing time and url information exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported since 6 5 code example var customappinfo = null; try { customappinfo = webapis systemcontrol getcustomappinfo ; } catch e { console log "[getcustomappinfo] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if customappinfo { console log "[getcustomappinfo] call syncfunction type " + customappinfo ; } setirlock set the device's ir lock status void setirlock activation option ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters option whether the ir lock option is to be enable or disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var option = "on"; try { webapis systemcontrol setirlock option ; } catch e { console log "[setirlock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getirlock retrieves information of ir lock activation getirlock ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation irlock enable option exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var option = null; try { option = webapis systemcontrol getirlock ; } catch e { console log "[getirlock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } console log "[getirlock] call syncfunction type " + option ; setbuttonlock defines the set button lock void setbuttonlock activation option ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters option whether the button lock option is to be enable or disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var option = "on"; try { webapis systemcontrol setbuttonlock option ; } catch e { console log "[setbuttonlock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getbuttonlock retrieves information of button lock activation getbuttonlock ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation button lock enable option exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var option = null; try { option = webapis systemcontrol getbuttonlock ; } catch e { console log "[getbuttonlock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } console log "[getbuttonlock] call syncfunction type " + option ; setautopoweron defines the set auto poweron void setautopoweron activation option ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters option whether the auto poweron option is to be enable or disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var option = "on"; try { webapis systemcontrol setautopoweron option ; } catch e { console log "[setautopoweron] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getautopoweron retrieves information of auto poweron activation getautopoweron ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation auto poweron enable option exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var option = null; try { option = webapis systemcontrol getautopoweron ; } catch e { console log "[getautopoweron] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } console log "[getautopoweron] call syncfunction type " + option ; setmagicinfoserverinfo defines the set maigcinfo server void setmagicinfoserverinfo magicinfoserverinfo info ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters info object containing the ssl, address, port information exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value with the error type unknownerror for any other error with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var info = { "ssl" "http", "address" "100 43 33 55", "port" "8080" }; try { webapis systemcontrol setmagicinfoserverinfo info ; } catch e { console log "[setmagicinfoserverinfo] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getmagicinfoserverinfo retrieves information of magicinfo server address magicinfoserverinfo getmagicinfoserverinfo ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value magicinfoserverinfo magicinfoserverinfo object containing the ssl, address, port information exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var info = null; try { info = webapis systemcontrol getmagicinfoserverinfo ; } catch e { console log "[getmagicinfoserverinfo] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } console log "[getmagicinfoserverinfo] call syncfunction type " + info ; iscustomappdownloaded check if customapp has been downloaded boolean iscustomappdownloaded ; product b2b htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value boolean bool true or false if customapp has been downloaded exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var isdownloaded = false; try { isdownloaded = webapis systemcontrol iscustomappdownloaded ; } catch e { console log "iscustomappdownloaded exception [" + e code + "] name " + e name + " message " + e message ; } if isdownloaded { console log "customapp is downloaded" ; } setcustomappdownloadlistener registers an asynchronous customapp's ondownloaded callback void setcustomappdownloadlistener customappdownloadlistener ondownloaded ; product b2b htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters ondownloaded callback method to invoke exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var ondownloaded = function data { console log wasappid + " is downloaded" ; } try { webapis systemcontrol setcustomappdownloadlistener ondownloaded ; } catch e { console log "setcustomappdownloadlistener exception [" + e code + "] name " + e name + " message " + e message ; } unsetcustomappdownloadlistener unregisters the asynchronous customapp's ondownloaded callback void unsetcustomappdownloadlistener ; product b2b htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported since 6 5 code example try { webapis systemcontrol unsetcustomappdownloadlistener ; } catch e { console log "unsetcustomappdownloadlistener exception [" + e code + "] name " + e name + " message " + e message ; } 2 6 updatefirmwareprogresschangedcallback defines the firmware update progress callback [callback = functiononly, nointerfaceobject] interface updatefirmwareprogresschangedcallback { void onchange long progress ; }; methods onchange method that is invoked when the firmware update progress changes void onchange long progress ; privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters progress operation status exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method since 6 5 code example var onchange = function data { console log "[updatecallback] progress " + data + " changed" ; }; try { webapis systemcontrol setupdatefirmwarelistener onchange ; } catch e { console log "setupdatefirmwarelistener exception [" + e code + "] name " + e name + " message " + e message ; ; } 2 7 customappdownloadlistener defines the customapp download listener [callback = functiononly, nointerfaceobject] interface customappdownloadlistener { void ondownloaded ; }; methods ondownloaded method that is invoked when the customapp download is done void ondownloaded ; privilege level partner privilege http //developer samsung com/privilege/systemcontrol since 6 5 code example var ondownloaded = function { console log "customapp is downloaded" ; }; try { webapis systemcontrol setcustomappdownloadlistener ondownloaded ; } catch e { console log "setcustomappdownloadlistener exception [" + e code + "] name " + e name + " message " + e message ; } 2 8 forwardmessagecallback this callback interface defines the forward message listener of the third party server [callback = functiononly, nointerfaceobject] interface forwardmessagecallback { void onchange forwardmessagedata data ; }; methods onchange method that is invoked when the forward message changes void onchange forwardmessagedata data ; privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters data object data of forward message from third party server exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method since 6 5 code example var onchange = function data { console log "[setforwardmessagelistener] message data " + data message + data timeout ; } try { webapis systemcontrol setforwardmessagelistener onchange ; } catch e { console log "setforwardmessagelistener exception [" + e code + "] name " + e name + " message " + e message ; } 2 9 privateappcompletelistener defines the delete private info complete listener [callback = functiononly, nointerfaceobject] interface privateappcompletelistener { void ondeleted domstring data ; }; methods ondeleted method that is invoked when the customapp download is done void ondeleted domstring data ; privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters data done meesage after check private info deletion since 9 0 code example var ondeleted = function data { //data == done console log "delete private app info complete"+ data ; }; try { webapis systemcontrol deleteappprivateinfonow ondeleted ; } catch e { console log "deleteappprivateinfonow exception [" + e code + "] name " + e name + " message " + e message ; } 3 full webidl module systemcontrol { enum activation { "on", "off" }; enum screenorientation { "landscape", "portrait", "auto" }; enum pcconnection { "rj45", "rs232", "invalid" }; enum customapptimeout { "30sec", "60sec", "90sec", "120sec", "150sec", "180sec", "240sec", "300sec" }; enum capturepath { "wgt-private-data", "wgt-private-tmp" }; [nointerfaceobject] interface lampscheduleinfo { attribute activation use; attribute domstring firsttime; attribute long level1; attribute domstring secondtime; attribute long level2; }; [nointerfaceobject] interface customappinfo { attribute domstring downloadserveraddress; attribute customapptimeout connectiontimeout; }; [nointerfaceobject] interface magicinfoserverinfo { attribute domstring ssl; attribute domstring address; attribute domstring port; }; [nointerfaceobject] interface systemcontrolmanagerobject { readonly attribute systemcontrolmanager systemcontrol; }; webapi implements systemcontrolmanagerobject; [nointerfaceobject] interface systemcontrolmanager { domstring getversion ; void capturescreen optional capturepath? path ; void rebootdevice ; domstring getserialnumber ; void updatefirmware domstring softwareid, domstring swufilename, domstring swversion, domstring swurl, long swtotalbytes ; void setupdatefirmwarelistener updatefirmwareprogresschangedcallback onchange ; void unsetupdatefirmwarelistener ; void setscreenlampschedule lampscheduleinfo info ; lampscheduleinfo getscreenlampschedule ; void setpanelmute activation enable ; activation getpanelmute ; void setsafetylock activation enable ; activation getsafetylock ; screenorientation getonscreenmenuorientation ; screenorientation getsourceorientation sourcetype source ; void setpcconnection pcconnection type ; pcconnection getpcconnection ; void setmessagedisplay activation enable ; activation getmessagedisplay ; void setcustomappinfo customappinfo info ; customappinfo getcustomappinfo ; void setirlock activation option ; activation getirlock ; void setbuttonlock activation option ; activation getbuttonlock ; void setautopoweron activation option ; activation getautopoweron ; void setmagicinfoserverinfo magicinfoserverinfo info ; magicinfoserverinfo getmagicinfoserverinfo ; boolean iscustomappdownloaded ; void setcustomappdownloadlistener customappdownloadlistener ondownloaded ; void unsetcustomappdownloadlistener ; }; [callback = functiononly, nointerfaceobject] interface updatefirmwareprogresschangedcallback { void onchange long progress ; }; [callback = functiononly, nointerfaceobject] interface customappdownloadlistener { void ondownloaded ; }; [callback = functiononly, nointerfaceobject] interface forwardmessagecallback { void onchange forwardmessagedata data ; }; [callback = functiononly, nointerfaceobject] interface privateappcompletelistener { void ondeleted domstring data ; }; };
Develop Smart Signage
apisystemcontrol api to use samsung product api, <script type="text/javascript" src="$webapis/webapis/webapis js"></script> should be loaded in index html this module defines functionalities for retrieving device information provided by the samsung product api the systemcontrol module provides additional functionalities for samsung b2b devices as a webapi you can use this webapi to retrieve and manage the system information for b2b devices since 6 5 product b2b privilege level partner privilege http //developer samsung com/privilege/systemcontrol summary of interfaces and methods interface method lampscheduleinfo customappinfo magicinfoserverinfo systemcontrolmanagerobject systemcontrolmanager domstring getversion ;void capturescreen optional capturepath? path ;void rebootdevice ;domstring getserialnumber ;void updatefirmware domstring softwareid, domstring swufilename, domstring swversion, domstring swurl, long swtotalbytes ;void setupdatefirmwarelistener updatefirmwareprogresschangedcallback onchange ;void unsetupdatefirmwarelistener ;void setscreenlampschedule lampscheduleinfo info ;lampscheduleinfo getscreenlampschedule ;void setpanelmute activation enable ;activation getpanelmute ;void setsafetylock activation enable ;activation getsafetylock ;screenorientation getonscreenmenuorientation ;screenorientation getsourceorientation sourcetype source ;void setpcconnection pcconnection type ;pcconnection getpcconnection ;void setmessagedisplay activation enable ;activation getmessagedisplay ;void setcustomappinfo customappinfo info ;customappinfo getcustomappinfo ;void setirlock activation option ;activation getirlock ;void setbuttonlock activation opti on ;activation getbuttonlock ;void setautopoweron activation option ;activation getautopoweron ;void setmagicinfoserverinfo magicinfoserverinfo info ;magicinfoserverinfo getmagicinfoserverinfo ;boolean iscustomappdownloaded ;void setcustomappdownloadlistener customappdownloadlistener ondownloaded ;void unsetcustomappdownloadlistener ; updatefirmwareprogresschangedcallback void onchange long progress ; customappdownloadlistener void ondownloaded ; forwardmessagecallback void onchange forwardmessagedata data ; privateappcompletelistener void ondeleted domstring data ; 1 type definitions 1 1 activation whether the feature is enabled enum activation { "on", "off" }; the following values are supported on enabled off disabled since 6 5 1 2 screenorientation screen orientation of the device enum screenorientation { "landscape", "portrait", "auto" }; the following values are supported landscape horizontal orientation portrait vertical orientation auto automatic based on the screen rotation since 6 5 1 3 pcconnection computer connection type of the device enum pcconnection { "rj45", "rs232", "invalid" }; the following values are supported rj45 rj45 connection rs232 rs-232 connection invalid invalid connection type since 6 5 1 4 customapptimeout timeout values for waiting connection of custom url enum customapptimeout { "30sec", "60sec", "90sec", "120sec", "150sec", "180sec", "240sec", "300sec" }; the following values are supported 30sec timeout set to 30 seconds 60sec timeout set to 60 seconds 90sec timeout set to 90 seconds 120sec timeout set to 120 seconds 150sec timeout set to 150 seconds 180sec timeout set to 180 seconds 240sec timeout set to 240 seconds 300sec timeout set to 300 seconds since 6 5 1 5 capturepath the following virtual roots must be supported for capture file enum capturepath { "wgt-private-data", "wgt-private-tmp" }; the following values are supported wgt-private-data - the location for a widget's private data storage wgt-private-tmp - the location for a widget's private volatile storage since 6 5 2 interfaces 2 1 lampscheduleinfo object containing lamp schedule settings [nointerfaceobject] interface lampscheduleinfo { attribute activation use; attribute domstring firsttime; attribute long level1; attribute domstring secondtime; attribute long level2; }; attributes activation use lamp schedule status domstring firsttime first scheduled time of day, in the format "hours minutes" long level1 lamp level for the first scheduled time the value is a number between 0 and 100 domstring secondtime second scheduled time of day, in the format "hours minutes" long level2 lamp level for the second scheduled time the value is a number between 0 and 100 2 2 customappinfo object containing customapp url and timeout [nointerfaceobject] interface customappinfo { attribute domstring downloadserveraddress; attribute customapptimeout connectiontimeout; }; attributes domstring downloadserveraddress url of customapp server customapptimeout connectiontimeout timeout for network connecttion 2 3 magicinfoserverinfo object containing ssl option, address, port [nointerfaceobject] interface magicinfoserverinfo { attribute domstring ssl; attribute domstring address; attribute domstring port; }; attributes domstring ssl ssl of magicinfo server domstring address address of magicinfo server domstring port port of magicinfo server 2 4 systemcontrolmanagerobject defines a webapi object instance of the samsung product api the webapis systemcontrol object enables access to systemcontrol api functionality [nointerfaceobject] interface systemcontrolmanagerobject { readonly attribute systemcontrolmanager systemcontrol; }; webapi implements systemcontrolmanagerobject; attributes readonly systemcontrolmanager systemcontrol systemcontrol api namespace since 6 5 2 5 systemcontrolmanager provides methods for systemcontrol functionalities [nointerfaceobject] interface systemcontrolmanager { domstring getversion ; void capturescreen optional capturepath? path ; void rebootdevice ; domstring getserialnumber ; void updatefirmware domstring softwareid, domstring swufilename, domstring swversion, domstring swurl, long swtotalbytes ; void setupdatefirmwarelistener updatefirmwareprogresschangedcallback onchange ; void unsetupdatefirmwarelistener ; void setscreenlampschedule lampscheduleinfo info ; lampscheduleinfo getscreenlampschedule ; void setpanelmute activation enable ; activation getpanelmute ; void setsafetylock activation enable ; activation getsafetylock ; screenorientation getonscreenmenuorientation ; screenorientation getsourceorientation sourcetype source ; void setpcconnection pcconnection type ; pcconnection getpcconnection ; void setmessagedisplay activation enable ; activation getmessagedisplay ; void setcustomappinfo customappinfo info ; customappinfo getcustomappinfo ; void setirlock activation option ; activation getirlock ; void setbuttonlock activation option ; activation getbuttonlock ; void setautopoweron activation option ; activation getautopoweron ; void setmagicinfoserverinfo magicinfoserverinfo info ; magicinfoserverinfo getmagicinfoserverinfo ; boolean iscustomappdownloaded ; void setcustomappdownloadlistener customappdownloadlistener ondownloaded ; void unsetcustomappdownloadlistener ; }; since 6 5 methods getversion retrieves the systemcontrol module version on the device domstring getversion ; product b2b privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value domstring domstring systemcontrol plug-in version exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var version = null; try { version = webapis systemcontrol getversion ; } catch e { console log "[getversion] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if version { console log "[getversion] call syncfunction type " + version ; } capturescreen creates a screen capture of the device it is saved in the form of screencapture jpg file under the path entered by the user if there is no input path, it is saved in the form of /tmp/screencapture jpg, which is the default path if the api is called on the same path, the file will be overwritten it can be controlled using filesystem webapi void capturescreen optional capturepath? path ; product b2b lfd, iwb privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters path [optional][nullable] user input screencapture saved path,default path is /tmp/screencapture jpg exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example try { webapis systemcontrol capturescreen "wgt-private-tmp" ; } catch e { console log "[capturescreen] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } rebootdevice reboots switches off and on again the device void rebootdevice ; product b2b privilege level partner privilege http //developer samsung com/privilege/systemcontrol exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example try { webapis systemcontrol rebootdevice ; } catch e { console log "[rebootdevice] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getserialnumber retrieves the device serial number domstring getserialnumber ; product b2b privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value domstring device serial number exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var serialnumber = null; try { serialnumber = webapis systemcontrol getserialnumber ; } catch e { console log "[getserialnumber] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if serialnumber { console log "[getserialnumber] call syncfunction type " + serialnumber ; } updatefirmware updates the device firmware void updatefirmware domstring softwareid, domstring swufilename, domstring swversion, domstring swurl, long swtotalbytes ; product b2b lfd, htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters softwareid unique firmware id swufilename bem file name swversion firmware version swurl full path to the bem file swtotalbytes bem file size exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type invalidvalueserror if any input parameter contains an invalid value with the error type notsupportederror if this feature is not supported with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var softwareid = "0"; var swufilename = "upgrade bem"; var swversion = "t-hkmlakuc 0227 20"; var swurl = "http //10 88 43 36 8080/new2016/saurabh/swupdate/t-hkmlakuc_0227_20/image/upgrade bem"; var swtotalbytes = 1007396825; webapis systemcontrol updatefirmware softwareid, swufilename, swversion, swurl, swtotalbytes ; setupdatefirmwarelistener registers an asynchronous onchange firmware update progress callback void setupdatefirmwarelistener updatefirmwareprogresschangedcallback onchange ; product b2b lfd, htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters onchange callback method to invoke exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var onchange = function data { console log "[updatefirmwareprogresschangedcallback] progress " + data + " changed" ; } try { webapis systemcontrol setupdatefirmwarelistener onchange ; } catch e { console log "setupdatefirmwarelistener exception [" + e code + "] name " + e name + " message " + e message ; ; } unsetupdatefirmwarelistener unregisters the asynchronous onchange firmware update progress callback void unsetupdatefirmwarelistener ; product b2b lfd, htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported since 6 5 code example function unsetupdatefirmwarelistener { try { console log "begin unsetupdatefirmwarelistener" ; webapis systemcontrol unsetupdatefirmwarelistener ; } catch e { console log "unsetupdatefirmwarelistener exception [" + e code + "] name " + e name + " message " + e message ; return; } } setscreenlampschedule defines the screen lamp schedule for the device, consisting of time of day and lamp brightness level void setscreenlampschedule lampscheduleinfo info ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters info object containing the times and levels to be set exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example var info = { "use" "on", "firsttime" "08 55", "level1" 30, "secondtime" "16 50", "level2" 80 }; try { webapis systemcontrol setscreenlampschedule info ; } catch e { console log "[setscreenlampschedule] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getscreenlampschedule retrieves screen lamp schedule information for the device lampscheduleinfo getscreenlampschedule ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value lampscheduleinfo lampscheduleinfo object containing time and level information exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported since 6 5 code example var screenlampschedule = null; try { screenlampschedule = webapis systemcontrol getscreenlampschedule ; } catch e { console log "[getscreenlampschedule] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if screenlampschedule { console log "[getscreenlampschedule] call syncfunction type " + screenlampschedule ; } setpanelmute enables or disables panel mute on the device void setpanelmute activation enable ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters enable whether panel mute is enabled on to enable, off to disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example try { webapis systemcontrol setpanelmute "on" ; } catch e { console log "[setpanelmute] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getpanelmute retrieves the panel mute status of the device activation getpanelmute ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation panel mute status exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var panelmuteonoff = null; try { panelmuteonoff = webapis systemcontrol getpanelmute ; } catch e { console log "[getpanelmute] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if panelmuteonoff { console log "[getpanelmute] call syncfunction type " + panelmuteonoff ; } setsafetylock enables or disables the safety lock on the device when the safety lock is enabled, pin entry is required when an input signal is received void setsafetylock activation enable ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters enable whether the safety lock is enabled on to enable, off to disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example try { webapis systemcontrol setsafetylock "on" ; } catch e { console log "[setsafetylock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getsafetylock retrieves the safety lock status of the device activation getsafetylock ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation safety lock status exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var safetylock = null; try { safetylock = webapis systemcontrol getsafetylock ; } catch e { console log "[getsafetylock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if safetylock { console log "[getsafetylock] call syncfunction type " + safetylock ; } getonscreenmenuorientation retrieves the menu orientation of the device screenorientation getonscreenmenuorientation ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value screenorientation menu orientation exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var screenmenuorientation = null; try { screenmenuorientation = webapis systemcontrol getonscreenmenuorientation ; } catch e { console log "[getonscreenmenuorientation] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if screenmenuorientation { console log "[getonscreenmenuorientation] call syncfunction type " + screenmenuorientation ; } getsourceorientation retrieves the source orientation of the device screenorientation getsourceorientation sourcetype source ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters source value want to know the orientation of the source return value screenorientation source orientation exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var result = null; try { result = webapis systemcontrol getsourceorientation "hdmi1" ; console log "[getsourceorientation] call syncfunction type " + result ; } catch e { console log "[getsourceorientation] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } setpcconnection sets the computer connection type for the device void setpcconnection pcconnection type ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters type computer connection type exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example try { webapis systemcontrol setpcconnection "rj45" ; } catch e { console log "[setpcconnection] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getpcconnection retrieves the computer connection type for the device pcconnection getpcconnection ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value pcconnection computer connection type exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var pcconnection = null; try { pcconnection = webapis systemcontrol getpcconnection ; } catch e { console log "[getpcconnection] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if pcconnection { console log "[getpcconnection] call syncfunction type " + pcconnection ; } setmessagedisplay enables or disables on screen display osd for system messages on the device the following messages are affected by this setting source info, no signal message, mdc message void setmessagedisplay activation enable ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters enable osd message display status on to enable, off to disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example try { webapis systemcontrol setmessagedisplay "on" ; } catch e { console log "[setmessagedisplay] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getmessagedisplay retrieves the osd message display status of the device the following messages are affected by this setting source info, no signal message, mdc message if any of these message types is set to on, this method returns on activation getmessagedisplay ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation osd message display status exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var messagedisplay = null; try { messagedisplay = webapis systemcontrol getmessagedisplay ; } catch e { console log "[getmessagedisplay] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if messagedisplay { console log "[getmessagedisplay] call syncfunction type " + messagedisplay ; } setcustomappinfo defines the set customapp url and timeout void setcustomappinfo customappinfo info ; product b2b htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters info object containing the times and url to be set exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value since 6 5 code example var info = { "downloadserveraddress" "http //testserver/testwebapp/check", "connectiontimeout" "30sec" }; try { webapis systemcontrol setcustomappinfo info ; } catch e { console log "[setcustomappinfo] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getcustomappinfo retrieves information of customapp url and timeout customappinfo getcustomappinfo ; product b2b htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value customappinfo customappinfo object containing time and url information exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported since 6 5 code example var customappinfo = null; try { customappinfo = webapis systemcontrol getcustomappinfo ; } catch e { console log "[getcustomappinfo] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } if customappinfo { console log "[getcustomappinfo] call syncfunction type " + customappinfo ; } setirlock set the device's ir lock status void setirlock activation option ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters option whether the ir lock option is to be enable or disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var option = "on"; try { webapis systemcontrol setirlock option ; } catch e { console log "[setirlock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getirlock retrieves information of ir lock activation getirlock ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation irlock enable option exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var option = null; try { option = webapis systemcontrol getirlock ; } catch e { console log "[getirlock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } console log "[getirlock] call syncfunction type " + option ; setbuttonlock defines the set button lock void setbuttonlock activation option ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters option whether the button lock option is to be enable or disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var option = "on"; try { webapis systemcontrol setbuttonlock option ; } catch e { console log "[setbuttonlock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getbuttonlock retrieves information of button lock activation getbuttonlock ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation button lock enable option exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var option = null; try { option = webapis systemcontrol getbuttonlock ; } catch e { console log "[getbuttonlock] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } console log "[getbuttonlock] call syncfunction type " + option ; setautopoweron defines the set auto poweron void setautopoweron activation option ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters option whether the auto poweron option is to be enable or disable exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var option = "on"; try { webapis systemcontrol setautopoweron option ; } catch e { console log "[setautopoweron] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getautopoweron retrieves information of auto poweron activation getautopoweron ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value activation auto poweron enable option exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var option = null; try { option = webapis systemcontrol getautopoweron ; } catch e { console log "[getautopoweron] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } console log "[getautopoweron] call syncfunction type " + option ; setmagicinfoserverinfo defines the set maigcinfo server void setmagicinfoserverinfo magicinfoserverinfo info ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters info object containing the ssl, address, port information exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type invalidvalueserror if any input parameter contains an invalid value with the error type unknownerror for any other error with the error type typemismatcherror if an input parameter is not compatible with its expected type since 6 5 code example var info = { "ssl" "http", "address" "100 43 33 55", "port" "8080" }; try { webapis systemcontrol setmagicinfoserverinfo info ; } catch e { console log "[setmagicinfoserverinfo] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } getmagicinfoserverinfo retrieves information of magicinfo server address magicinfoserverinfo getmagicinfoserverinfo ; product b2b lfd privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value magicinfoserverinfo magicinfoserverinfo object containing the ssl, address, port information exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var info = null; try { info = webapis systemcontrol getmagicinfoserverinfo ; } catch e { console log "[getmagicinfoserverinfo] call syncfunction exception [" + e code + "] name " + e name + " message " + e message ; } console log "[getmagicinfoserverinfo] call syncfunction type " + info ; iscustomappdownloaded check if customapp has been downloaded boolean iscustomappdownloaded ; product b2b htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol return value boolean bool true or false if customapp has been downloaded exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var isdownloaded = false; try { isdownloaded = webapis systemcontrol iscustomappdownloaded ; } catch e { console log "iscustomappdownloaded exception [" + e code + "] name " + e name + " message " + e message ; } if isdownloaded { console log "customapp is downloaded" ; } setcustomappdownloadlistener registers an asynchronous customapp's ondownloaded callback void setcustomappdownloadlistener customappdownloadlistener ondownloaded ; product b2b htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters ondownloaded callback method to invoke exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type typemismatcherror if an input parameter is not compatible with its expected type with the error type notsupportederror if this feature is not supported with the error type unknownerror for any other error since 6 5 code example var ondownloaded = function data { console log wasappid + " is downloaded" ; } try { webapis systemcontrol setcustomappdownloadlistener ondownloaded ; } catch e { console log "setcustomappdownloadlistener exception [" + e code + "] name " + e name + " message " + e message ; } unsetcustomappdownloadlistener unregisters the asynchronous customapp's ondownloaded callback void unsetcustomappdownloadlistener ; product b2b htv privilege level partner privilege http //developer samsung com/privilege/systemcontrol exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method with the error type notsupportederror if this feature is not supported since 6 5 code example try { webapis systemcontrol unsetcustomappdownloadlistener ; } catch e { console log "unsetcustomappdownloadlistener exception [" + e code + "] name " + e name + " message " + e message ; } 2 6 updatefirmwareprogresschangedcallback defines the firmware update progress callback [callback = functiononly, nointerfaceobject] interface updatefirmwareprogresschangedcallback { void onchange long progress ; }; methods onchange method that is invoked when the firmware update progress changes void onchange long progress ; privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters progress operation status exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method since 6 5 code example var onchange = function data { console log "[updatecallback] progress " + data + " changed" ; }; try { webapis systemcontrol setupdatefirmwarelistener onchange ; } catch e { console log "setupdatefirmwarelistener exception [" + e code + "] name " + e name + " message " + e message ; ; } 2 7 customappdownloadlistener defines the customapp download listener [callback = functiononly, nointerfaceobject] interface customappdownloadlistener { void ondownloaded ; }; methods ondownloaded method that is invoked when the customapp download is done void ondownloaded ; privilege level partner privilege http //developer samsung com/privilege/systemcontrol since 6 5 code example var ondownloaded = function { console log "customapp is downloaded" ; }; try { webapis systemcontrol setcustomappdownloadlistener ondownloaded ; } catch e { console log "setcustomappdownloadlistener exception [" + e code + "] name " + e name + " message " + e message ; } 2 8 forwardmessagecallback this callback interface defines the forward message listener of the third party server [callback = functiononly, nointerfaceobject] interface forwardmessagecallback { void onchange forwardmessagedata data ; }; methods onchange method that is invoked when the forward message changes void onchange forwardmessagedata data ; privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters data object data of forward message from third party server exceptions webapiexception with the error type securityerror if the application does not have the privilege to call this method since 6 5 code example var onchange = function data { console log "[setforwardmessagelistener] message data " + data message + data timeout ; } try { webapis systemcontrol setforwardmessagelistener onchange ; } catch e { console log "setforwardmessagelistener exception [" + e code + "] name " + e name + " message " + e message ; } 2 9 privateappcompletelistener defines the delete private info complete listener [callback = functiononly, nointerfaceobject] interface privateappcompletelistener { void ondeleted domstring data ; }; methods ondeleted method that is invoked when the customapp download is done void ondeleted domstring data ; privilege level partner privilege http //developer samsung com/privilege/systemcontrol parameters data done meesage after check private info deletion since 9 0 code example var ondeleted = function data { //data == done console log "delete private app info complete"+ data ; }; try { webapis systemcontrol deleteappprivateinfonow ondeleted ; } catch e { console log "deleteappprivateinfonow exception [" + e code + "] name " + e name + " message " + e message ; } 3 full webidl module systemcontrol { enum activation { "on", "off" }; enum screenorientation { "landscape", "portrait", "auto" }; enum pcconnection { "rj45", "rs232", "invalid" }; enum customapptimeout { "30sec", "60sec", "90sec", "120sec", "150sec", "180sec", "240sec", "300sec" }; enum capturepath { "wgt-private-data", "wgt-private-tmp" }; [nointerfaceobject] interface lampscheduleinfo { attribute activation use; attribute domstring firsttime; attribute long level1; attribute domstring secondtime; attribute long level2; }; [nointerfaceobject] interface customappinfo { attribute domstring downloadserveraddress; attribute customapptimeout connectiontimeout; }; [nointerfaceobject] interface magicinfoserverinfo { attribute domstring ssl; attribute domstring address; attribute domstring port; }; [nointerfaceobject] interface systemcontrolmanagerobject { readonly attribute systemcontrolmanager systemcontrol; }; webapi implements systemcontrolmanagerobject; [nointerfaceobject] interface systemcontrolmanager { domstring getversion ; void capturescreen optional capturepath? path ; void rebootdevice ; domstring getserialnumber ; void updatefirmware domstring softwareid, domstring swufilename, domstring swversion, domstring swurl, long swtotalbytes ; void setupdatefirmwarelistener updatefirmwareprogresschangedcallback onchange ; void unsetupdatefirmwarelistener ; void setscreenlampschedule lampscheduleinfo info ; lampscheduleinfo getscreenlampschedule ; void setpanelmute activation enable ; activation getpanelmute ; void setsafetylock activation enable ; activation getsafetylock ; screenorientation getonscreenmenuorientation ; screenorientation getsourceorientation sourcetype source ; void setpcconnection pcconnection type ; pcconnection getpcconnection ; void setmessagedisplay activation enable ; activation getmessagedisplay ; void setcustomappinfo customappinfo info ; customappinfo getcustomappinfo ; void setirlock activation option ; activation getirlock ; void setbuttonlock activation option ; activation getbuttonlock ; void setautopoweron activation option ; activation getautopoweron ; void setmagicinfoserverinfo magicinfoserverinfo info ; magicinfoserverinfo getmagicinfoserverinfo ; boolean iscustomappdownloaded ; void setcustomappdownloadlistener customappdownloadlistener ondownloaded ; void unsetcustomappdownloadlistener ; }; [callback = functiononly, nointerfaceobject] interface updatefirmwareprogresschangedcallback { void onchange long progress ; }; [callback = functiononly, nointerfaceobject] interface customappdownloadlistener { void ondownloaded ; }; [callback = functiononly, nointerfaceobject] interface forwardmessagecallback { void onchange forwardmessagedata data ; }; [callback = functiononly, nointerfaceobject] interface privateappcompletelistener { void ondeleted domstring data ; }; };
Connect Samsung Developer Conference
websessions dive into the future of connected customer experiences through tech sessions by developers offering further insight into the innovations introduced in the keynote filter filter filter main category all topics all reset apply there are no results. a tv-based lifestyle contents platform, designed to enrich users' everyday life tech session enterprise & ecosystem, smart tv, ai, contents&service this session introduces how seamlessly to integrate into lifestyle contents platforms, samsung daily+ and daily board. automotive monetization made simple: cross-platform opportunities tech session enterprise & ecosystem, monetization, android, platform explore the untapped potential of the automotive market for android developers. learn how to adapt your existing mobile and tablet apps for the automotive environment, leveraging the unique opportunities for monetization and broader market reach. bixby upgrades for next-gen smart home appliances tech session device ai, ai, smart appliances, iot/connectivity this session introduces how the updated bixby will make our goal of 'device control' even more convenient. with this update, bixby is able to communicate with you more naturally and control your appliances seamlessly. building digital health ecosystems with samsung health sdk suite tech session enterprise & ecosystem, health, platform, mobile samsung health is advancing its care@home vision with the samsung health sdk suite, introducing the new data sdk and updating the sensor sdk. cochl: creating ears for ai open stage advanced tech, ai, service & content, smart appliances cochl provides a sound ai solution, featuring cutting-edge technology for applications in smart homes, manufacturing and security. data-driven ai strategies for smart home appliances tech session device ai, ai, smart appliances, iot/connectivity introduce several ai features deployed in samsung's appliances and ai strategies based on data-driven approaches. developer center/test suite open stage smartthings, iot/connectivity, platform, productivity learn about smartthings latest updates for developers and how they make it easier than ever to obtain wwst certification. door locks on smartthings x samsung wallet tech session smartthings, iot/connectivity, platform, smart appliances smart door lock platform to provide personalization experience, advanced authentication, and various door lock connectivity support ecosystem for advanced professional video codec tech session advanced tech, service & content, mobile, open sources growing the ecosystem of advanced professional video, a codec for easy capture without losing quality via standards + open-source software. enhancing smartthings connectivity tech session smartthings, iot/connectivity, open sources, mobile a case study on developing a solution to ensure stable connectivity for customers using smartthings, enabling a seamless iot experience immersive audio experience with google: an introductory session tech session advanced tech, service & content, open sources, smart tv discover the future of immersive audio enabled by aomedia's next-generation 3d audio technology. islet: on-device confidential computing for secure and privacy-first ai tech session advanced tech, security & privacy, open sources, platform introducing islet, an open-source project redefining secure computing for user devices and ensuring the security of on-device ai. knox ai service for business tech session enterprise & ecosystem, enterprise, platform, ai this session introduces the state of galaxy ai and knox ai service for business. music sync partner collaboration tech session smartthings, iot/connectivity, platform, smart appliances the music sync service within smartthings, the updates to the music sync feature and how to integrate smartthings music sync. omnious.ai: vella, a new virtual try-on generative ai model open stage enterprise & ecosystem, ai, service & content omnious.ai is a research-focused company leveraging ai to transform the customer experience and augment human creativity. on-device translation with ai tech session advanced tech, ai, productivity we introduce samsung's on-device machine translation models and our translation solution for services. present and future of samsung tv security with knox tech session responsible ai, security & privacy, smart tv, platform this session will introduce the knox security principles and explain our future preparations to enhance knox security. samsung vxt: cms platform with pirs(pre-integrated repeatable solution) open stage enterprise & ecosystem, platform, contents&service, enterprise samsung vxt actively seeks partnerships with ai experts via the pirs app, providing sdks for seamless integration. samsung wallet: expanding the ecosystem with partners tech session enterprise & ecosystem, service & content, platform, android introducing new features for "add to samsung wallet", a revamped partner portal with mdl sdk, and the new merchant notification system. smartthings find program tech session smartthings, iot/connectivity, open sources, mobile introducing the status and new services of smartthings find, what's new in our partnership program, and node management system(nms). smartthings innovation challenge awards open stage smartthings smartthings innovation challenge sound recognition applications tech session device ai, ai, smart appliances, mobile advancements and applications of sound recognition technology in various smart devices by samsung. the convergence of ai and iot: transforming our daily lives open stage smartthings, ai, iot/connectivity discover how ai and iot change our daily lives, making tech more intuitive and personalized, and reshaping our relationship with devices. unlocking the future of ai integration tech session device ai, ai, tizen, smart tv samsung will make screen highly interoperable with ai by empowering tizen sdk. now, we are unlocking ai cast, ai actions and recognition sdk. wallpaper translation using generative ai tech session advanced tech, ai time and weather translate your mobile device wallpaper using on-device generative ai for your daily photos. what's new in samsung health research stack? tech session advanced tech, health, open sources, platform introducing the newly rebranded samsung health research stack version 2.0, enhancing connectivity with samsung devices and services. what's new in tizen? tech session advanced tech, tizen, platform, open sources introducing the exciting features coming up in tizen 9.0 and deep diving into the latest updates. back to previous page
Connect Samsung Developer Conference
webtech sessions dive into the future of connected customer experiences through tech sessions by developers offering further insight into the innovations introduced in the keynote filter filter filter all reset apply there are no results. sessions contents & service, open innovation 8k visual quality and ecosystem in this session, we will present how the genuine 8k contents correctly displayed on 8k display devices could deliver our customers an immersive picture quality experience. we will start with a summary of the previous studies about user perceptions regarding the 8k visual quality. we then will explain why the full-frequency 8k contents are superior to the lower resolution in producing fine details on the image. we will also discuss some technical challenges we face toward adopting and utilizing 8k contents in a real-world environment and describe how we can overcome these hurdles. specifically, we will discuss technologies such as super-resolution and new image sensors to overcome the full-frequency barrier of 8k content. last, we will introduce the 8k association (8ka), a non-profit organization composed of key technology companies in the consumer and professional 8k ecosystem, and briefly mention 8ka's ongoing effects on the research, standardization, and promotion of 8k visual quality. sessions contents & service, developer program, mobile add samsung pay as your payment method in this session, we will share learnings from our experience developing the samsung pay mobile payment service, revealing insights that can be applied to your own platforms. we will also take a look at the samsung pay development kit and how you can use this for your own service. sessions game, ar, mobile ar emoji: your avatar, your experience the ar emoji feature on samsung devices enables users to create a 3d avatar model that can be used in other applications. similar to avatars currently available in games or in the metaverse, our ar emojis are a chance for users to express themselves, their style and their personality, digitally. but this is only the beginning. in this session, we’ll explore the future of ar emojis and how the ar emoji sdk is opening more opportunities for developers to collaborate with samsung to bring to life new services featuring these avatars and optimize them for the metaverse though our collaboration with unity. sessions ai, iot, smart appliances bixby 2022 what’s new what’s new with bixby in 2022? in this session, you will hear about some of the exciting improvements to the nlu and on-device bixby as well as updates to the bixby developer studio, which introduces a brand new javascript runtime that provides a modern, secure, high-performance environment. we will also take a closer look at the brand new bixby home studio, which allows smart device developers to customize and optimize voice control of smart devices, including allowing a single command to intelligently control multiple smart home devices. sessions contents & service, game creating spectacular galaxy game audio experiences with dolby atmos galaxy smartphones and tablets can produce spectacular game audio with dolby atmos. discover how you can create deeper emotional connections with players, keep them playing for longer, and earn their loyalty by unleashing the full power of samsung galaxy mobile game audio. in this session you will hear from dolby’s partner audiokinetic who will discuss how developers can make dolby atmos games, including a walkthrough of how to use dolby atmos plug-ins in audiokinetic's wwise audio middleware. moong labs – creators of epic cricket one, of india's most popular sports games – will also share how dolby atmos benefitted their game and you will find out how dolby supports game developers and other activities on our website. sessions health, wearable expand health experiences with galaxy watch the galaxy watch’s powerful bioactive sensor, together with the wear os powered by samsung, is transforming mobile health experiences. and now, this technology is even more powerful thanks to the samsung privileged health sdk. find out how the samsung privileged health sdk is allowing developers to retrieve raw or analyzed sensor data for their applications, including bia, ecg, blood oxygen level or sweat loss, and help users’ to accurately monitor their health stats. sessions web flexible and private web experience on samsung internet in this session, you will learn how to enhance and optimize your web experience for foldable devices using device posture api and viewport segment media query. we'll also take a closer look at how samsung internet protects users’ privacy online. sessions mobile, enterprise, developer program google and samsung strengthen enterprise ecosystem together samsung’s global mobile b2b team is working closely with the android enterprise team to build a galaxy ecosystem of partners who are bringing innovation into workplaces. discover how partner solutions create unique experiences on samsung devices and how we plan to work together to help future partners step into the samsung android ecosystem for enterprises and smbs. sessions contents & service, developer program, enterprise hdr10+/salt and automatic hdr video creations for productions hdr10+ is an essential technology for premium hdr viewing experience and it is widely reach to consumer displays including mobile devices. in order to provide hdr content services, it requires changing service provider's infra structure or workflows and video processing technology from sdr to hdr with a lot of engineering efforts. then, hdr10+/salt solutions and partnership program from samsung is designed to build an extremely cost effective automatic solution up for content creators, post production houses and ott service providers even including game developers. the solution package is designed with various standalone applications, reference apps, sdks on various oses and partnership programs to help 3rd parties for creation of hdr contents. hdr10+/salt partnership program provides full compatibility to hdr10+ llc certification program and major studios, ott service providers and tool makers are already partners of the program and samsung provides them the best hdr content quality. sessions developer program, open innovation, health healthcare research hub our open source project provides end-to-end solutions such as sdk, platform, and portal for various use cases from medical research studies to clinician services using wearable devices. medical research does not have to stay complicated. anyone can easily build and customize their own research studies or clinician services using this open source. recently, as the accuracy of sensors installed on wearable devices has improved, interest in healthcare research using wearable health data is increasing. however, it takes a lot of time for researchers to develop research applications and server infrastructure for storing and analyzing data from scratch. sr is developing android sdk and data platform solutions that support healthcare research using health data from our wearable devices (watch 4 and later versions) and provide them as open source in order to solve the pain points of these researchers and establish a digital health care research ecosystem centered on our wearable devices. sessions iot, monetization, smart appliances home connectivity alliance introduction of home connectivity alliance and how appliance manufactures can enable interoperability across brands. hear how hca interoperability can benefit consumers and partners including b2b (home builders, mfu, etc). join the hca and become a leader in innovation within the connected iot ecosystem. sessions ai, ar immersive audio we will demonstrate an audio system with dramatically improved immersive 3d audio experience. hardware will be similar to samsung’s critically acclaimed hw-q990b soundbar, but will include several new technologies that will be found in future samsung products. these technologies automatically correct for room acoustics and the location of the listeners and loudspeakers. visitors will compare the sound of the system before and after the system’s unique automated calibration process. listeners will enjoy improved spatial and timbral performance in stereo, surround and immersive audio formats with both music and cinematic content. sessions security & privacy introducing blockchain wallet with knox vault in this session, we introduce blockchain wallet for samsung smart tv. blockchain wallet allows our smart tv users to manage their blockchain accounts and transfer their cryptocurrency to another blockchain account. it ensures to retain a key for blockchain transactions in a secure way. dapp developers can build their tv dapp with blockchain wallet for blockchain functions such as blockchain connection and transaction signing. knox vault is an enhanced hardware-based security solution to protect sensitive data such as cryptographic keys, passwords and personal data. knox vault provides strong security guarantees against hardware attacks such as physical attack, side-channel attack and fault attack. as a core component of the knox security platform, knox vault is an isolated, tamper-proof, secure subsystem with its own secure processor and memory. sessions developer program, enterprise, android introducing samsung galaxy camera ecosystem discover how advanced camera technologies, based on samsung’s leading hardware and software, can enable developers to create more powerful camera experiences for their users. we will take a look at some of the incredible partnerships samsung has already formed with numerous app developers and reveal how these collaborations enriched users’ camera experiences. sessions mobile, android, productivity intuitive multitasking experience based upon android 12l join us to see how samsung continues to enhance the large screen user experience further with fast app switching and intuitive multitasking capabilities. to maximize the galaxy foldable experience, we're expanding flex mode even further with more apps and partners as well as google's ongoing collaborative effort in android 12l. sessions iot, mobile, uwb joint efforts on standardization toward open ecosystem of uwb services the presentation will introduce samsung's joint efforts with industry partners on the uwb tech/service standardization, which is essential for creating an interoperable open ecosystem of uwb products and services. especially, it will introduce activities at fira consortium, which was established by samsung jointly with industry leaders to provide interoperability specifications as well as certification programs. it may also include target uwb services and relevant standardization status & plan. sessions ar, game, tizen journey to immersive interactive exp in big screen with xr and avatar fw xr framework webapis enable developers to build xr applications on the tizen platform. we will go over features of the webapis, share some demos, and provide information on how to get started. additionally we will show you a sample code of how to capture and handle user's gestures and full body movement. avatar framework for tizen is a unified solution providing high level apis that allow samsung developers to easily include the 3d avatar models and features in their samsung tv applications. we will go over all the cool features and options of our framework in this video. sessions connectivity, android, mobile le audio: the future of wireless sound introducing le audio: a new standard for bluetooth technology on galaxy devices. le audio will enhance the performance of classic bluetooth audio and introduce isochronous communication, creating whole new wireless audio experience on galaxy devices. in this session, we will introduce the technical features of le audio, what it means for the galaxy ux and how you could enhance wireless audio experience of your app with le audio. sessions design, ui/ux one ui design principles in partnership one ui creates a unified experience across our galaxy devices, from phones and tablets to watches and galaxy books. in creating and refining one ui, we've followed four key principles: simplicity, effortlessness, consistency, and authenticity. with one ui, we've also made a commitment to openness, which means some of the best things in one ui come from partnerships. in this session, we'll talk about some of those partnerships and how we aligned them with our four design principles to get great results. sessions ui/ux, design, android one ui: customer centric design one ui starts with a true understanding what our customers want. hear more about what samsung have learned from listening to extensive customer feedback and usage data, and how we have adapted our designs in response. we'll take a look at some real-life examples of how the ux design of the calendar, settings and samsung health app has evolved over time to better meet customer needs. sessions enterprise, data, security & privacy our journey to responsibly handling data at samsung, we place personal data protection as one of our top priorities. learn how we responsibly handle personal data in our applications and platforms. we'll share with you our journey in protecting personal data. we'll talk about what it means to responsibly govern and access data in samsung's enterprise environment. we'll cover specifics on how to classify & protect data as a whole. pick up insights on privacy technologies and design patterns we apply in our data intensive applications today. sessions developer program, tizen, ui/ux prism: the new ux development tool and process in today’s environment of rapid and unpredictable transformation, establishing a creative and increasingly collaborative tech culture is one of the most challenging requirements. in this session, we would like to introduce a new method to revolutionize the tizen platform-based app development process. a new development process named prism automates most of the inefficient overheads from design to implementation of app ui, innovatively improving app development productivity. we will introduce prism-based development process and deliver this innovative app development culture to developers through the sessions. sessions developer program, smart appliances, tizen remote test lab: what’s new in tv development environment the current tizen tv development environment, represented by emulator and tv, is a very limited support method for developers. depending on the version of emulator, the latest features currently supported by the tv may not be available, and various models of physical tvs may be required to verify actual operation. rtl tv tries to overcome the limitations of the current development environment. sessions contents & service, monetization, data samsung tv plus: the advanced ad-tech and partnerships that fund free tv samsung’s free ad-supported tv (fast) service “tv plus” has been a breakout success. although it looks and feels like traditional tv, it is anything but! behind the scenes of this slick tv & mobile experience is high-performance technology, vast amounts of data & algorithms, and a thriving partner ecosystem. join this session to learn more about the mind-boggling world of advertising technology, how it works, and how multiple companies come together to provide free tv to millions of consumers worldwide. sessions android, contents & service samsung wallet, it's convenient, personal and safe as the growth of digital wallets skyrockets, samsung recently announced samsung wallet – a new platform bringing almost all of the cards you’d typically find in a physical wallet, as well as important documents, into one easy-to-use and secure mobile application. as samsung wallet rapidly expands its content set, find out more about the future of digital wallets and how open api’s can allow developers to build integrations for this service. sessions iot, security & privacy smartthings edge: the next level experience discover how samsung is transitioning the smartthings-published groovy dths to edge drivers while maintaining a seamless experience for our users. we’ll walk through the process of onboarding edge-based devices and how to set up an automation with an edge device that runs locally. sessions iot, monetization, smart appliances smartthings energy service introduction of smartthings energy service and how partners (energy companies, smart device mfgs, etc) can integrate to provide a seamless energy management service for their consumers leveraging samsung's smartthings energy ecosystem. sessions iot, contents & service, open innovation smartthings find: find alongside 200+ million users smartthings find is samsung’s fastest growing service, powered by more than 200 million galaxy users. discover some of the new features and functions added over the past year and learn how partners can leverage the service to innovate their own solutions to meet the needs of businesses and consumers alike. sessions iot, contents & service, open innovation smartthings platform enhancements for openness and interoperability the smartthings platform continues to evolve to promote openness and interoperability. in this session, we will share some exciting new updates to the smartthings platform to support matter and thread, and discuss the home connectivity alliance. sessions health, tizen telehealth in samsung devices samsung display device (smart tvs & smart monitors) users will be able to launch telemedicine service within the samsung products. once you pick your physician, you can use one of the approved usb cameras to connect to the tv and jump on a video call with a physician via external service provider's built-in web applications. after a few account setup process on mobile / pc, you can easily start your session any time on tv without any additional complicated inputs. at your session, you can also receive a prescription to be filled in at a mail-in online pharmacy (pc or mobile) to receive prescription drugs at your doorstep. sessions open innovation, enterprise, productivity the next generation samsung retail solutions in a mobile-first world, device convergence, simplification, ergonomically designed accessories, sw solutions and the connected galaxy ecosystem are helping to boost productivity and efficiency in the retail industry. in this session, we will explore how the next generation of retail solutions are shaping the industry’s future and will take a closer look at samsung’s three major retail solutions - data capturing, payment, and push-to-talk. sessions developer program, mobile, android the samsung knox partner program: partner success journey the samsung knox partner program (kpp) equips you with everything you need to build ideas and market your mobile solutions. in this session, we will take a look at some of our partners’ solutions and how collaborating with the samsung kpp has helped enhance their user experience. join us to see why kpp is causing a stir in the business developer community! sessions enterprise, tizen tizen everywhere this session highlighted samsung's direction and goals for the enterprise and b2b markets, focused on taking tizen to the next level on so many platforms. various enterpriser displays based on tizen and solutions suitable for business purposes will always be together. tizen enterprise platform will provide all the technology infrastructure you need, including the samsung developers portal for b2b for developer support and the samsung apps tv seller office for custom application support in your own business. after announcing "tizen open" at sdc in 2019, samsung established licensing system to provide tizen tv os to other tv makers. in order for partners to develop tizen tv products faster, samsung prepared reference tv solution. in europe, australia, türkiye, tizen tvs have been released sequentially through more than 10 tv brands since september 22. sessions wearable, design, android watch face studio's first journey and expectation for next a must-have to create beautiful watch faces! watch face studio (wfs) is now a little over a year old. hear the developers of wsh share the highs and lows of bringing the tool to life and meet the designers responsible for creating the eco watch face. this session is an insight into the year-long journey to create wfs – and the story of where we’re going next. sessions iot, tizen, ui/ux what's new in tizen? are you curious about the direction in which intelligent iot platform “tizen” is developing? this session introduces ui assistant technology and extended 3d ui framework for providing advanced user experience, and explains innovative technologies that make run the tizen platform on top of the android hardware abstraction layer to facilitate securing new hws. and introduce the iot standard 'matter', which will be newly supported on tizen. finally, we provide a guide and tip for cross platform application development. sessions ai, iot, smart appliances what’s new in bixby for smart home bixby brings the smart home experience to life with the power of voice. find out how our new tool, bixby home studio, will enable device manufacturers to build more intelligent, more engaging voice experiences for smartthings-connected devices. sessions mobile, design, ui/ux what’s new in one ui 5 one ui 5 pushes personalization and productivity to the next level. explore new features that enable you to build a galaxy experience that reflects your personal style and help you to get more done on all your devices, wherever or whenever you need to.
Develop Mobile
docsamsung log video major changes version changes one ui 7 0 samsung log supported one ui 8 5 -apv advanced professional video codec supported s26 ultra only -lut look-up table preview and samsung log video editing features supported-samsung cinematic lut package deployed 1 understanding log filming log filming is a technique that captures videos in a wider dynamic range, requiring post-production work to correct colors in log filming, the camera sensor records a wider luminance range, from the darkest areas to the brightest areas while the dynamic range is compressed to fit a certain format in standard filming, log filming preserves more data this provides video creators with greater flexibility in color adjustments and post-production, yielding more cinematic and visually appealing results the general advantages of log filming are 1 cost-effectiveness high-quality videos can be produced without the need for expensive, high-end equipment 2 time efficiency the filming process to achieve the desired look is simplified, reducing production time 3 flexibility in post-production greater control over colors, shadows, highlights, and color tones when light passes through a lens and reaches the camera's sensor, each pixel in the sensor records the corresponding value this sensor information is then digitized and recorded through an image processor please note that this information is different to the visual information perceived by the human eye; when the number of candles is increased from one to three in a dark room, a camera records that the light intensity has increased threefold the human eye, however, perceives the increase as approximately 2 5 times, which is a relative value because the human eye perceives light relatively; when you increase the number of candles from two to three, it perceives an increase of one candle, which is half of two a camera, on the other hand, measures light intensity in a linear calculation to mimic how the human eye perceives light, a "gamma" correction curve is applied to the video, converting the linear data to a logarithmic scale in this process, the range of darker tones shadows is expanded, while the range of brighter tones highlights is compressed, compensating for limited data in shadows by reallocating some of the abundant data in highlights as a result, typical log footage saved appears flat and washed-out, with reduced contrast to restore the footage to standard color and contrast levels, a lut, which is a pre-defined set of color adjustment values, is applied to the footage in post-production, to restore a standard color profile and achieve a desired visual style 2 filming and color correction with samsung log 1 samsung log today, we're living in an era of personal media, with platforms like reels and shorts creators, more often than not, edit their videos to reflect their unique style rather than using auto-corrected footages as they are log filming is a technique that offers significantly greater editing flexibility for users who want their videos to stand out giving a unique look to a video with fixed lines and colors is challenging, akin to painting over an already sketched and colored artwork however, it's much easier for creators to express their colors and visual style when the footage contains only rough sketches this is why we offer a log filming service previously, log filming was considered a professional-only feature equipped in studio-grade cameras samsung log offers a log curve designed to extend tonal range in low-light areas and provide smooth highlight gradation without banding it supports the 10-bit hevc codec, ensuring excellent compatibility and storage efficiency additionally, it supports the visually lossless apv codec on the s26 ultra, ensuring optimal image quality for post-production with these features, we aim to provide professional-level quality for experts and accessibility for general users ※ filming with the apv codec is only supported on s26 ultra use the following link to learn more apv advanced professional video codec figure 1 samsung log video 2 start filming with samsung log log filming is supported by default in pro video mode to start filming, select "log" from the quick settings options displayed on the screen figure 2 pro video mode log filming you can set up the log option under the camera settings menu to enable it in video mode for lens switching and easy filming select “camera settings > video format > log > video and pro video mode” to enable log filming to be selected in the quick settings options in video mode figure 3 how to set log filming feature in video mode figure 4 video mode log filming 3 lut look-up table preview filming with samsung log adjusts the gamma curve to secure a wider dynamic range, resulting in a flat appearance it can be challenging to intuitively grasp how the final image's color and exposure will appear to address this issue, the lut preview feature allows real-time preview of color-corrected video users can select from various lut presets to monitor, depending on the shooting environment and video purpose standard provides a standard correction that maps video footage to the rec 709 color space, allowing users to accurately check exposure and colors during shooting cinematic lut four creative styles are provided to allow users to preview a cinematic mood in real-time while shooting blockbuster emphasizes hollywood's signature orange and teal tones to create a cinematic look with more depth and tension coming-of-age creates a mood often seen in coming-of-age films or k-pop music videos with calm pastel tones, soft contrast, and balanced color tones romance uses soft, warm tones to render emotional moments for characters or create a romantic mood, suitable for reflective scenes thriller creates an intense, dramatic effect by reducing saturation and increasing contrast to produce dark, gritty images ※ note the lut preview feature is intended to aid monitoring during filming users will see lut-applied colors in previews, but the actual recorded video files are saved as original log footage without any lut applied this enables users to correct and grade colors as desired in post-production figure 5 lut preview figure 6 lut presets 4 samsung log filming assist feature exposure monitor to easily check exposure during log filming, samsung log provides exposure monitoring features such as zebra patterns and false color, which assist with filming when used in conjunction with the lut preview feature, users can precisely identify exposure values based on the corrected image, making it easier and more accurate to set appropriate exposure level even when shooting in log zebra patterns are displayed in areas where exposure exceeds the pre-set value 70 to 100 , easily identifying overexposed areas false color marks all areas in different colors based on exposure grade red for overexposure, light green for proper exposure, and purple for underexposure, allowing you to see overall exposure at a glance these features can be toggled on or off at any time, before or during recording figure 7 samsung log exposure monitor 5 editing samsung log video footage on mobile samsung log supports a seamless mobile workflow, from shooting to editing and sharing the lut presets previewed during recording can also be applied in the gallery application's editing menu while users process the original log data users can use the 4 cinematic luts blockbuster, coming-of-age, romance, and thriller alongside tone adjustment features to apply a film look instantly and produce refined footage even in a mobile environment, without complex workflows ※ compared to videos filmed in video mode, samsung log offers greater editing flexibility, allowing for more detailed shadow expressions and customized color tones figure 8 color correction in samsung log 6 editing samsung log video footage on pc for professionals seeking more control in post-production, lut files compatible with professional pc editing software such as davinci resolve are provided the lut files can be downloaded via the link in the following section the cinematic lut package for pc offers an expanded library of 12 lut types three per style to enable more detailed and precise color grading based on the four base styles available on mobile three versions with varying intensities per style are provided, allowing users to choose an appropriate level according to their creative intent attributes such as color structure, contrast, and color density have been redesigned for each tone to achieve optimal results at each intensity level this ensures the intended tone is achieved accurately without compromising the overall mood of the video footage lut style characteristics tone intensity design approach blockbuster strong contrast, cool/warm split neutral – strong1 - strong2 contrast adjustment by stage, adjustment of color temperature balance between highlights and shadows and color density coming-of-age low saturation, soft contrast soft2 - soft1 - neutral differential design of saturation and luminance balance in highlights/shadows to prevent a flat look romance focused on warm tones, detail preservation in highlights, reduced excessive weight in shadows soft – neutral - strong rebalancing of color temperatures and saturation/color density to minimize tonal fatigue thriller low saturation, high contrast, emphasis on shadows neutral - strong1 - strong2 differential design of saturation and luminance balance in highlights/shadows table 1 characteristics of each lut style 3 samsung log profiles and lut samsung log white paper_en pdf samsung log to linear 1dlut_v1 0 cube samsung log to rec709 3dlut_v1 0 cube samsung log to cinelut rec709_v1 0 zip 4 samsung log support information support information samsung log filming device galaxy s26/s25/s24 series, z fold 7/6, z flip 7/6, z flip 7 fe resolution all codec 10bit hevc, apv s26 ultra only modes pro video modevideo mode log option needs to be enabled in “camera” settings lens all pro video mode filming options manual controls- exposure monitor zebra pattern, false color storage options option to save in external storage ssd lut look-up table -camera > lut preview -gallery > edit > apply lut editing samsung log video editing features ※ details, including supported devices and features, are subject to change based on company policies ※ note the apv codec is only available on the galaxy s26 ultra as it requires hardware support existing models do not support this codec, as it cannot be enabled with software updates
Learn Code Lab
codelabdevelop a smartthings find-compatible device objective learn how to create your own smartthings find-compatible device using the smartthings find partnership program device sdk learn how to measure the radio frequency rf performance of a bluetooth low energy ble device using tag toolbox partnership request the smartthings find partnership program is available only to registered partners who wish to commercialize you can only do this code lab and get the resources after a successful partnership to form a partnership, contact partners@smartthings com overview the smartthings find partnership program comprises smartthings find device specification, smartthings find device sdk, test tool, and technical support it facilitates the development of devices operating with smartthings find services and mobile applications the smartthings find device sdk is small enough to work on resource-limited microcontroller unit mcu devices in this code lab, you can learn how to develop your own smartthings find device first, you can know how to set up your project in smartthings using the developer workspace next, you can learn how to build your firmware with smartthings find device sdk lastly, you can know how to check the functionalities of your device's rf performance using the tag toolbox app set up your environment you will need the following host pc running on windows 11 visual studio code as the ide smartthings find device sdk code smartthings find tag toolbox smartthings app toolchain for nrf52833 dk use the ncs nrf connect sdk version 2 6 1 nrf52833 dk with buzzer module and nfc antenna galaxy smarttag2 register and deploy to test your device using the smartthings developer workspace, you can create a device profile, customize the instructions for onboarding the device on the smartthings app, and test the devices by deploying them you can edit the configurations until you submit the device for publication in the smartthings ecosystem sign in to smartthings developers go to smartthings developer workspace and sign in using your samsung account select a project and add a device profile select stfind codelab example and check its device profile under the device profile, specify whether the device operates on ble ble and uwb afterward, you can customize your device's onboarding experience in smartthings by uploading your product images, user instructions, and brand name under device onboarding lastly, you can fill in basic product information in the product info deploy your device to test after you complete all of these, you can go back to the overview tab and press deploy to test you can download the tagonboardingconfig h file which includes your project configuration the sdk code needs this configuration file register your devices you can add the identity of your device in the smartthings cloud for authentication this requires device information like serial number and device public key ed25519 when you reach the maximum number of test devices per user, remove the existing ones this example shows how to create an ed25519 key pair with sdk tools in visual studio code, press the tagkeygen button at the bottom afterward, you can generate the serial number, private key, and public key register it to the smartthings cloud using the smartthings developer workspace and include it in your firmware after checking the created information on visual studio code go to the developer workspace go to test > test devices menu, and click register new device input the generated serial number and public key build the firmware with the sdk open visual studio code and build the firmware for your device open the sdk project in the file explorer of visual studio code, you can find four code lab files here when you click the nrf connect icon, it shows important functions such as build, flash, and serial log check the configuration files ensure that two essential configuration files are applied tagonboardingconfig h tagdeviceinfo h write your code in main c, complete the code to call the taginit and tagstart apis of device sdk you can find code_mission in the source code and follow the instructions in the code by simply removing the comments #include <zephyr/zephyr h> #include <zephyr/sys/printk h> #include "tagsdk h" #include "mbedtls/aes h" static void init_aes_table void { mbedtls_aes_context dump_ctx; unsigned char dump_key[16]; mbedtls_aes_setkey_enc &dump_ctx, dump_key, 128 ; } void main void { int err = 0xff; tagresult_t result = tag_result_not_supported; /** * code_mission * you will check this serial log later in this codelab */ printk "tag demo! %s-%s-%s\n", config_board, __date__,__time__ ; init_aes_table ; /** * code_mission * call taginit api by removing comment // * * by calling this api, tag sdk will load nv, set rtc and * initialize crypto, and so on * you shall initialize bsp before call this api * services and starts ble advertising */ // result = taginit ; if result != tag_result_success { printk "failed to init %d\n", result ; return; } err = bt_enable 0 ; if err { printk "failed to init bt %d\n", err ; return; } /** * code_mission * call tagstart api by removing comment // * * by calling this api, tag sdk will initialize ble gatt * db and services and starts ble advertising * you shall initialize ble stack before call this api */ // result = tagstart ; if result != tag_result_success { printk "failed to start maintask %d\n", result ; return; } } in portnfc c, call the seturl function you can find code_mission in the source code and follow the instructions in the code by simply removing the comments tagerror_t portnfcseturl char *url, size_t urllen { tagerror_t ret = tag_error_none; ret = disablenfc ; if ret != tag_error_none { tag_log_e "failed to disable nfc" ; return ret; } /** * code_mission * remove comment // below to call seturl function */ // ret = seturl url, urllen ; if ret != tag_error_none { tag_log_e "failed to set url message" ; return ret; } ret = enablenfc ; if ret != tag_error_none { tag_log_e "failed to enable nfc" ; return ret; } return tag_error_none; } build go to nrf connect > actions click on build noteit may take some time for the build to finish you can see the progress by checking the popup at the bottom-right corner of the ide you can also select nrf connect build in the terminal to check the detailed status flash connect the nrf52833 dk to your computer go to nrf connect > actions click on flash once completed, you can hear a notification sound from your device check the serial log of your device go to nrf connect > connected devices click the plug icon on the right side of vcom0 comxx at the top of the ide, select the first item in the list under connected devices press the reset button briefly on your device by checking the timestamp from the serial log, you can verify whether your device successfully downloaded the firmware onboard and control your device via smartthings app onboard your device launch the smartthings app tap the + icon at the top right of the screen click on add device select add in the partner devices section select my testing devices then, select stfind codelab example to start onboarding allow the use of location information and press agree verify your device by pressing the button on the board in the success! page, tap on done to finish onboarding your device locate and ring your device tap on view map to show the location of your device select ring and your device produces a sound through its buzzer module you may switch to either high-volume or low-volume ringing press stop to stop the ringing configure the lost mode of your device when lost mode is activated, it allows you to view a lost message showing the owner's contact information and any personalized messages in the smartthings app, tap on view map > more > lost mode in the lost mode page, select next add email, contact, and message information then, tap on turn on test it by placing an nfc device or a mobile device at the nfc antenna of your device a lost message should show on your mobile device test the device's rf performance via tag toolbox smartthings find tag toolbox allows you to measure the rf performance of a ble device and log the results create a new test item launch the tag toolbox app on a mobile device tap on ble performance > add new test to create a new test item select a target device and a reference device to compare rf performance a target device this is your device created through this code lab b reference device this is the smarttag2 as a comparison target conduct rf performance tests press start session and check your device's rf performance once completed, tap on take a picture and capture how far away the mobile device is from both your device and the smarttag2 tap on test result to find out your device's rf performance export test result test reports can be exported as a file either during the test or after completing the test check your device's rf performance in the list of session menu a min rssi minimum value of your device's rf signal b max rssi maximum value of your device's rf signal c packet detection rate if the advertising transmission interval is two seconds, it indicates how many packets were detected during the test duration press export test result and it shows the location of the file on your mobile device you're done! congratulations! you have successfully achieved the goal of this code lab topic now, you can develop your own smartthings find-compatible devices to form a partnership, contact partners@smartthings com
Develop Health
docmigrating exercise app to samsung health data sdk as of july 2025, samsung health sdk for android has been deprecated while existing functionality will continue to operate for now, developers are strongly encouraged to migrate to samsung health data sdk to ensure long-term compatibility and continued support both sdks provide access to health data, stored in samsung health app this data may originate directly from the app itself, as is the case for steps, or from connected wearable devices such as the ring, watch or dedicated medical equipment samsung health data sdk offers several advantages over its predecessor more user-friendly api support for more features such as suspend functions cleaner and more compact source code for more information and resources, refer to samsung health data sdk introduction the steps on this page help you easily understand the overall process of migrating your app that reads and inserts exercise data to use the samsung health data sdk prerequisites set up your environment before you begin the integration, make sure that you have the following installed and ready android studio java jdk 17 or higher android mobile device compatible with the latest version of samsung health set up your android device refer to the following resources to set up your android device turn on the phone’s developer options run apps on a hardware device download samsung health data sdk visit samsung health data sdk page to download samsung health data sdk enable samsung health data sdk’s developer mode previously, samsung health sdk for android required developers to submit a partner request to gain access, which needed to be applied for and approved before use now, with samsung health data sdk, you can download and use the sdk in developer mode without submitting a partner request to enhance convenience for developers, samsung health data sdk has improved its developer mode functionality if you only need to read data from samsung health app, you can activate developer mode and proceed with development and testing without requiring a partner request for more information on developer mode, please refer to developer mode if you want to test writing data to samsung health app using samsung health data sdk or distribute your app, you need to obtain a partnership for samsung health data sdk you can request it by following this process project setup import sdk library replace samsung health sdk for android aar file in your project navigate to app/libs in your project replace samsung-health-data-1 5 1 aar with samsung-health-data-api- version aar from the downloaded sdk package app manifest when using samsung health data sdk, your app’s manifest should no longer include any entries related to health data permissions gradle settings sdk dependency update your module-level build gradle to include the correct dependency replace dependencies { implementation files "/libs/samsung-health-data-1 5 1 aar" } with entry samsung health data sdk version independent dependencies { implementation filetree mapof "dir" to "libs", "include" to listof "* aar" } other configuration add gson library to the dependencies of module-level build gradle dependencies { implementation "com google code gson gson 2 13 2" } apply the kotlin-parcelize plugin to the module-level build gradle plugins { id "kotlin-parcelize" } additionally, check the module-level build gradle file and include any other dependencies required by your implementation connect with samsung health after completing the initial setup, you are ready to connect your app to samsung health to access exercise data in the following paragraphs, we are going to show you how to migrate specific elements of logic from samsung health sdk for android to samsung health data sdk samsung health sdk for android with samsung health sdk for android, establishing a connection requires the following import healthdatastore import com samsung android sdk healthdata healthdatastore declare healthdatastore instance with lateinit var healthdatastore healthdatastore initialize the instance and start the connection with healthdatastore = healthdatastore context, listener also { it connectservice } these are the provided arguments listener – healthdatastore connectionlistener instance, used to observe the connection results and handle connection failures context – typically app or activity context samsung health data sdk with samsung health data sdk, establishing a connection is simpler, as there is no need to implement a connection listener import the following class import com samsung android sdk health data healthdatastore notethe class name healthdatastore class is the same as in samsung health sdk for android however, their import directories differ make sure that you are using the correct path we can now establish the connection and obtain a healthdatastore instance by calling healthdataservice getstore context here, context can be your app context request permissions upon successful connection to samsung health, your app must ensure that it has permissions to access the health data from samsung health since samsung sdks enforce data access control, defining and checking permissions must be done before any data operations are performed samsung health sdk for android in samsung health sdk for android, you must first create a permission set, specifying which data type your app intends to access and the access permission read or write for example, to request read and write permissions for exercise data val permissions = setof healthpermissionmanager permissionkey healthconstants exercise health_data_type, healthpermissionmanager permissiontype read , healthpermissionmanager permissionkey healthconstants exercise health_data_type, healthpermissionmanager permissiontype write then, to check existing permissions and request any that are missing, use the healthpermissionmanager class val permissionmanager = healthpermissionmanager healthdatastore runcatching { val grantedpermissions = permissionmanager ispermissionacquired permissions if grantedpermissions values all { it } { log i app_tag, "all required permissions granted" } else { log i app_tag, "not all required permissions granted" permissionmanager requestpermissions permissions, context setresultlistener permissionlistener } } onfailure { error -> error message? let { log i app_tag, it } } samsung health data sdk in samsung health data sdk, requesting data access permissions is simpler for example, to request read and write permissions for exercise data val permissions = setof permission of datatypes exercise, accesstype read , permission of datatypes exercise, accesstype write then, to check if all necessary permissions have been granted val grantedpermissions = healthdatastore getgrantedpermissions permissions val areallpermissionsgranted = grantedpermissions containsall permissions if there are any missing permissions, prompt the user to grant them try { val result = healthdatastore requestpermissions permissions, context // … } // catch any error read exercise data samsung health sdk for android in samsung health sdk for android, to read exercise data, you need to create a read request by defining the data type and time range set the data type using healthconstants exercise health_data_type and specify the local time range using setlocaltimerange, which accepts the start and end time in longs val readrequest = healthdataresolver readrequest builder setdatatype healthconstants exercise health_data_type setlocaltimerange healthconstants exercise start_time, healthconstants exercise time_offset, starttime, endtime build next, initialize a healthdataresolver object using the previously obtained healthdatastore instance and handler and launch the prepared readrequest to process the results for example, you can retrieve the device id associated with each recorded exercise this is useful when you want to determine which device the data originates from to achieve this, you can create an iterator to access healthdata that represents an exercise record val healthdataresolver = healthdataresolver healthdatastore, handler try { healthdataresolver read readrequest await run { try { val iterator = iterator while iterator hasnext { val healthdata = iterator next val deviceid = healthdata getstring healthconstants exercise device_uuid // process obtained deviceid or other data } } finally { close } } } catch exception exception { exception message? let { log i tag, it } } samsung health data sdk in samsung health data sdk, you can achieve the same result with simpler and more concise code as before, you need to create a read request first, create a localtimefilter to access data for the current day val starttime = localdate now atstartofday val endtime = localdatetime now val localtimefilter = localtimefilter of starttime, endtime then, apply it to the prepared request val readrequest = datatypes exercise readdatarequestbuilder setlocaltimefilter localtimefilter build to launch the request, simply call the readdata method of the healthdatastore instance, passing readrequest as an argument the result includes a datalist, which you can iterate through to access exercise data val exercisedatalist = healthdatastore readdata readrequest datalist exercisedatalist foreach { healthdatapoint -> val deviceid = healthdatapoint datasource? deviceid // process obtained deviceid or other data } read aggregated data for data types that represent summarized values, such as total, minimum, maximum or last values, you can use aggregate requests to compute these results samsung health sdk for android in samsung health sdk for android, to read aggregated data for a specific period, you need to create aggregaterequest with a defined time range and aggregation function for example, to read the total calories burned from exercise since the start of the day, you can call addfunction with aggregatefunction sum setlocaltimerange with starttime as the start of the day and endtime as the current time setdatatype with healthconstants exercise health_data_type below is an implementation of aggregaterequest that reads the total exercise calories since the start of the day note that you also need to define the key id to retrieve the aggregated data later val exercisetotalcaloriesid = "exercise_total_calories" val aggregaterequest = healthdataresolver aggregaterequest builder addfunction healthdataresolver aggregaterequest aggregatefunction sum, healthconstants exercise calorie, exercisetotalcaloriesid setlocaltimerange healthconstants exercise start_time, healthconstants exercise time_offset, starttime, endtime setdatatype healthconstants exercise health_data_type build next, launch the request synchronously and iterate through the results to get the total calories var totalcalories = 0 try { healthdataresolver aggregate aggregaterequest await run { try { val iterator = iterator if iterator hasnext { val healthdata = iterator next totalcalories = healthdata getint exercisetotalcaloriesid } } finally { close } } } catch exception exception { exception message? let { log i tag, it } } to get the total exercise duration, the logic remains the same the only difference is the property argument of the request’s addfunction , as well as the key to retrieve the aggregated data addfunction healthdataresolver aggregaterequest aggregatefunction sum, healthconstants exercise duration, "exercise_total_duration" samsung health data sdk in samsung health data sdk, it is simpler to get the aggregated data first, you need to create localtimefilter to define the time range val starttime = localdate now atstartofday val endtime = localdatetime now val localtimefilter = localtimefilter of starttime, endtime then, build an aggregaterequest instance by calling requestbuilder on the desired aggregate data type for exercise data, this could be either datatype exercisetype total_calories or datatype exercisetype total_duration the full request is shown below val aggregaterequest = datatype exercisetype total_calories requestbuilder setlocaltimefilter localtimefilter build to obtain the aggregated data, create an aggregate request and access the datalist since this type of request returns a single-element list containing the aggregated value, you can use kotlin’s mapnotnull function to extract it safely, ensuring it’s not null healthdatastore aggregatedata aggregaterequest datalist mapnotnull { it value } insert data let's explore how to insert prepared exercise data into samsung health samsung health sdk for android to insert data in samsung health sdk for android, you first need to create a healthdata instance that contains the exercise data to be inserted the health data includes the start time, end time, exercise type or duration, and live data time-series data across different exercise stages the livedata placeholder contains the user’s heart rate or speed across each exercise phase let's prepare a set of dummy data to insert in real-world scenarios, healthdata includes real-time measurements captured from wearable devices or other health and fitness equipment prepare data to be inserted first, create livedata - a list of objects of your custom data class exerciselivedata according to the documentation for samsung health sdk for android, it is recommended to provide start_time and at least one additional field for each instance of livedata for more details, please refer to livedata declare the start_time, heart_rate and speed data val livedatalist = listof exerciselivedata start_time = instant ofepochsecond 1766394000 toepochmilli , heart_rate = 144f, speed = 1 6f , exerciselivedata start_time = instant ofepochsecond 1766394030 toepochmilli , heart_rate = 146f, speed = 1 8f , // add more entries convert livedata list next, convert the livedata list to jsonblob bytearray format by using the sdk function getjsonblob this function takes a list of exerciselivedata as an argument and returns bytearray you can simply create a helper function for this task private fun createlivedata livedatalist list<exerciselivedata> bytearray { val zip = healthdatautil getjsonblob livedatalist return zip } create healthdata object create a healthdata object that holds all exercise data, including timestamps, calories, distance, duration and livedata the livedata is attached using the putblob function in addition to the standard fields start_time, end_time, and time_offset, it is necessary to specify the exercise type based on the predefined exercise type table, setting the value to 1002 represents a running exercise val calories = 73f val distance = 1000f val exercisetype = 1002 val starttime = instant ofepochsecond 1766394000 val endtime = instant ofepochsecond 1766394300 val duration = duration between starttime, endtime val timeoffset = timezone getdefault getoffset endtime toepochmilli tolong val healthdata = healthdata apply { sourcedevice = deviceid putlong healthconstants exercise start_time, starttime toepochmilli putlong healthconstants exercise end_time, endtime toepochmilli putlong healthconstants exercise time_offset, timeoffset putint healthconstants exercise exercise_type, exercisetype putlong healthconstants exercise duration, duration tomillis putfloat healthconstants exercise calorie, calories putfloat healthconstants exercise distance, distance putblob healthconstants exercise live_data, createlivedata livedatalist } insert the prepared data use a healthdataresolver class to build an insertrequest initialize a healthdataresolver instance and pass in the already connected healthdatastore utilize a builder function and set healthconstants exercise health_data_type as the data type retrieve the local device id using the healthdevicemanager instance, as you need to specify the source device that provides this data call the insert function with the prepared insertrequest and wait for the result below is an implementation example val handler = handler looper getmainlooper val healthdataresolver = healthdataresolver healthdatastore, handler try { val localdevice = healthdevicemanager healthdatastore localdevice uuid val data = exerciseinsertdata getexercisedata endtime, localdevice if data != null { val insertrequest = healthdataresolver insertrequest builder setdatatype healthconstants exercise health_data_type build insertrequest addhealthdata data val result = healthdataresolver insert insertrequest await if result status == healthresultholder baseresult status_successful { log i tag, "inserted running exercise count of data ${result count}" } else { log i tag, "inserting failed" } } } catch e exception { throw e } samsung health data sdk in samsung health data sdk, preparing livedata to be inserted into samsung health app is simplified by the help of the exerciselog class with predefined fields such as timestamp, heartrate, cadence and more, this class is ready to capture information for each phase of an exercise session this eliminates the need to manually encode it to jsonblob bytearray format instead, you can simply create a list of exerciselog objects, each representing a phase of the exercise val exerciselog = listof exerciselog of timestamp = instant ofepochsecond 1766394000 , heartrate = 144f, speed = 1 6f, cadence = null, count = null, power = null , exerciselog of timestamp = instant ofepochsecond 1766394030 , heartrate = 146f, speed = 1 8f, cadence = null, count = null, power = null // add more entries create a healthdatapoint instance another key difference in samsung health data sdk is that, instead of creating a healthdata instance, the sdk provides a healthdatapoint object that represents the entire exercise before creating a healthdatapoint instance, you need the following list of exerciselog objects predefined exercise type use addfielddata function to set the exercise type property with a predefined enum value and include list of datatype exercisetype sessions exercisesession object in the running exercise, there will always be a single-element list - an exercisesession element created based on a previously defined list of exerciselog objects to create an exercisesession object, use exercisesession builder and set the relevant data, such as start time, end time, exercise type, calories and duration once the relevant information is prepared, you can call the builder method to initialize a healthdatapoint instance and set the properties, such as start time, end time, and exercise type, by calling the addfielddata function the code is shown below val calories = 73f val distance = 1000f val starttime = instant ofepochsecond 1766394000 val endtime = instant ofepochsecond 1766394300 val duration = duration between starttime, endtime var healthdatapoint healthdatapoint? try { val session = exercisesession builder setstarttime starttime setendtime endtime setexercisetype datatype exercisetype predefinedexercisetype running setduration duration setcalories calories setdistance distance setcomment "routine running" setlog exerciselog build healthdatapoint = healthdatapoint builder setstarttime starttime setendtime endtime addfielddata datatype exercisetype exercise_type, datatype exercisetype predefinedexercisetype running addfielddata datatype exercisetype sessions, listof session build } catch e exception { throw e } insert the prepared data to insert the prepared data, simply build insertrequest by calling the insertdatarequestbuilder method on datatypes exercise attach the created data healthdatapoint instance by calling the adddata function finalize the request with the build method next, call the insertdata method of the healthdatastore instance and pass the created insertrequest as an argument val insertrequest = datatypes exercise insertdatarequestbuilder adddata data build healthdatastore insertdata insertrequest exception handling robust health apps can recover when things go wrong let's examine the differences between both sdks when handling such scenarios samsung health sdk for android in the case of samsung health sdk for android, the methods for handling errors depend on the exception types for example, connection exceptions with samsung health are handled by the healthdatastore connectionlistener's event handler you can use the healthconnectionerror class to check whether the error has a resolution based on the error type, you can implement different handling strategies for exceptions related to requests such as reading or writing data, refer to the healthresultholder baseresult class and its getstatus method however, since there are no dedicated exception class, developers must handle the exceptions that are part of the standard java language, such as illegalargumentexception, securityexception or illegalstateexception samsung health data sdk when working with samsung health data sdk, key functions such as aggregatedata , requestpermissions , or getgrantedpermissions may throw exceptions under certain conditions to prevent unexpected crashes or blank screens, it’s best to funnel these exceptions into a central error handler you can do so by wrapping every api invocation with try { // sdk function invocation } catch e healthdataexception { handlehealthdataexception e } about healthdataexception healthdataexception is the main exception class for samsung health data sdk the handlehealthdataexception function • shows an error log • tries to “resolve” the exception some healthdataexception instances include a resolution intent you can check if the exception has a resolution by checking the hasresolution property of the exception object and trying to fix it by invoking resolve examples of such exceptions • err_old_version_platform indicates samsung health app is outdated • err_platform_not_installed signals that samsung health app is not installed in both cases, the resolution involves opening the device’s app marketplace to prompt the user to install or update samsung health app once the issue is fixed, control returns to the app so it can continue functioning this approach not only keeps your ui clean, but allows for a consistent, guided error experience when something goes wrong, users can see a clear message of what happened and how to fix it include migration completion information in the app manifest please add the following details to the androidmanifest xml file of your app <manifest > <application > <meta-data android name="com samsung android sdk health data migration_completed" android value="true"/> </application> </manifest> summary we have covered how to migrate an app that uses samsung health sdk for android to samsung health data sdk when migrating your app to samsung health data sdk, you can follow the described process and code examples to complete the migration for more details, please refer to samsung health data sdk introduction partner request before distributing your app the developer mode of samsung health data sdk is a feature provided solely for development purposes to ensure that an app using samsung health data sdk functions properly without enabling developer mode, you need to submit a partner request through the developer site before distributing your app on app marketplaces after the partner app is approved, the app's detailed information will be registered in samsung's system having a trouble? we are operating a developer support channel on the samsung developer site if you encounter any issue or any question, please visit developer support and submit your query after logging in your samsung account
We use cookies to improve your experience on our website and to show you relevant advertising. Manage you settings for our cookies below.
These cookies are essential as they enable you to move around the website. This category cannot be disabled.
These cookies collect information about how you use our website. for example which pages you visit most often. All information these cookies collect is used to improve how the website works.
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and tailor the website to provide enhanced features and content for you.
You have successfully updated your cookie preferences.