Scheduling Casting or automatic default casting device on Chromecast - chromecast

We have a TV in our office that has Chromecast. We are using this TV to cast our metrics in a dashboard (a few separate charts on different webpages). We use the same TV for some internal meetings (e.g., standups). I want the TV to be casting our dashboard whenever the secondary casting device stops casting so we don't have to do it manually. What is my best option to do this? If it helps, our meetings are at specific times so I can potentially schedule casting of the dashboard.

Don't think this is possible as this was asked in this thread:
No; .., I am afraid. Chromecast is just a pipe, with no user
interface or ability to do such things.

Related

How to get the Matter device abilities list by Google Home Service Mobile SDK?

By Google Home Sample App for Matter, it seems nothing we can know about the device clusters from the device after commissioning.
// commission
Matter.getCommissioningClient(context)
.commissionDevice(commissionDeviceRequest)
After commissioning, it did the addDeviceState.
val newDeviceState =
DeviceState.newBuilder()
.setDeviceId(deviceId)
.setDateCaptured(getTimestampForNow())
.setOnline(isOnline)
.setOn(isOn)
.build()
But why it knows there is a setOn() for the device? How to know what clusters the device has?
I have read the Google Play service Matter API but there are only commission and share APIs. Are there Matter devices setting function list?
As mentioned in https://developers.home.google.com/samples/matter-app?hl=en
Note: The sample app currently only supports devices that have the On/Off server attribute, for example lights, smart plugs, and fans.
Due to this, the app always assumes that any Matter device that is commissioned via GHSAFM supports the on/off cluster.

Thunderbird: How to access the calendar?

I'm planning to develop a tool (running on the Windows PC) which allows comparing and merging calendar events between different calendars. My mobile device and my Lightning calendar should be supported.
The idea is to write an App for my mobile device connecting to the tool via TCP or UDP so the tool is able to modify the mobile device's calendar by sending commands to the App.
Unfortunately I'm not aware on how I can access the Thunderbird Lightning calendar with my tool.
Question 1: (Possibility 1)
Is it possible to access the Thunderbird (Lightning) calendar read/write from another application (e.g. by directly accessing the SQLite archive) in a safe way?
"In a safe way" means: No risk that the calendar format changes in the next Lightning release and writing events will destroy it!
Question 2: (Possibility 2)
Is there a possibility to access the Lightning calendar data from another Thunderbird plug-in?
(I was searching about this in Google for 2 hours and found nothing!)
Is it possible to create a "permanent" TCP connection from a Thunderbird plug-in (running some operations in the background)?
I would advise against option 1, but if you must then you can check the version table to see if the storage version has changed. This doesn't happen very often. As for accessing calendar data, you can reach the calendar manager and events as follows:
Components.utils.import("resource://calendar/modules/calUtils.jsm");
let calmgr = cal.getCalendarManager();
let calendars = calmgr.getCalendars({});
let mycal = calendars[0]; // pick one
The calendar in mycal will follow the calICalendar interface, which you can read about here. The most important methods are addItem, modifyItem, deleteItem, getItem and getItems.
As for creating a permanent connection from within Thunderbird, it is probably best to use web sockets, which you should be able to use from any DOM window. It might make sense to create your own e.g. with an iframe.

Eddystone, Is it possible to fetch the beacons location?

I checked that the Beacon location information(latlong etc) can resister to the google restoration server. so now I want to make an Android application that displayed roughly current location to the user device. From Eddystone specification point of view, is it possible to get LatLong of nearest beacon from restoration server? if possible, could you let me know which API should i use?
thank you for your kindly support
Most Eddystone beacons will be registered(I assume that will be the practical approach for most at least) on Google Cloud using Proximity Beacon API. See the reference part for usage and your options.
I believe it's not possible to get "a nearest" beacon just by using lat-long unless that beacon belongs to you(registered by yourself), you will probably going to need some kind of observation data first, to obtain further information about the beacon.
Here is the Github repo with iOS/Android sample applications to get you started.

Using multiple Chromecast to display same content for unattended TV

We have a number of TVs where we want to display dynamic content. This is very similar to the built in Chromecast application that displays photos and art from Google, the major difference is that we have a mixture of photos and videos, and want to display for instance a whole video clip, then a few photos for 30 sec. each, then another video, then more photos, and finally when all is done, cycle through the whole thing again. We want to do the setup once for each Chromecast/TV, then let it run for days or even weeks.
One option could be a web server displaying the whole sequence repetitively on a specific web page url, and then have the Chromecast display its assigned web page. I looked at the development docs. and I suspect that I will need to develop a Chrome Sender application and use the standard receiver application on the Chromecast. It is not clear for me if the sender (Chrome) needs to run all the time, or once the setup is done, the Chromecast knows which url to display and can then be left alone for days.
We hope to replace dedicated servers and software that connect to the various TVs, and the Chromecast offering customization could be a very inexpensive solution.
Maybe this does not make sense, let me know!
The sender can be a chrome sender or a native app on an Android or iOS device; as for the receiver, you would need to write a custom receiver; that receiver, which is basically an HTML5 page, can receive the whole schedule (urls, etc) at the very beginning, or it can fetch the schedule dynamically from a certain server, etc. Once the receiver starts, your sender doesn't need to stay connected but if for whatever reason your chromecast is rebooted, or loses connectivity, etc, your sender would need to start your application on the chromecast again; there is no magical way for chromecast to start your app automatically.

broadcasting data to mobile devices

I working on a project were mobile users can receive alerts based on diferent factors, the server side will be implemented using the MVC framework.
My question is regarding the client side; what would be the most efficient way to send the alerts to the clients? is there any way to broadcast the alerts to each device or do I have to set up some system where each device pulls the data from the server on an interval of mins/seconds? I am afraid pulling the data every X secs/mins would create an unnesesary overhead on the mobile devices.
One way would be using SMS but SMS gateway services are expensive and not on my budget right now.
I haven't personally tried it, but this service might work for you:
http://www.airgramapp.com/api
It is free for limited use. Downside is it appears to be a separate install on the mobile device. This might means less control of the content of the message or its look. Upside is it looks quick and easy if you just need a proof of concept at this point.

Resources