xbee ansi C library endpoint example - c

Wondering if anyone has a full working example of how to make a ZCL endpoint using Digi's Xbee ANSI C Library ?
The samples directory in that repo has some things, the commission server sample is helpful but I'd love to see an example of the library actually being used for something real.
What I'm trying to make here is a simple sensor to interface with an existing Zigbee network (the coordinator being zigbee2mqtt with a cc2531 in my case) to report readings to home assistant.
I've seen mentions of a "xbee custom endpoint" example on the Digi forum, but I couldn't find that example, it sounds like that'd be exactly what I need.
Thanks

The Commissioning Client and Server samples are overkill for just getting started, but they are used for "something real". The Commissioning Cluster is a part of the Zigbee spec.
You might want to look at zcl_comm_startup_attributes and zcl_comm_startup_attribute_tree in src/zigbee/zcl_commissioning.c to see how you can set up an attribute tree for your cluster.
Perhaps look at include/zigbee/zcl_basic_attributes.h and samples/common/_zigbee_walker.c on how to set up the endpoint table with a Basic cluster and its attributes. The Zigbee Walker sample shows how to use ZDO/ZDP queries to enumerate endpoints, and then ZCL queries to enumerate clusters and attributes. You can use that sample to validate the endpoint/cluster/attribute table that you've set up in a particular program.
You might want to spend some time reading through the Zigbee Cluster Library specification to understand the concept of endpoints, clusters and attributes, which may help you to understand the tables you need to set up in your program to implement them.

Related

Is there any public API for Discord Rich Presence independant of the official client?

I'm working on a UWP app with a feature where other apps could set Discord Rich Presence via an AppServiceConnection. However on most UWP platforms forwarding from the AppServiceConnection to the Offical Client is not an available option. I'm looking to set the Rich Presence directly from the app essentially. Despite a ton of digging through network packets I'm still entirely lost. Anyone know of documentation on it or has some super method to sniff these packets out (Fiddler 4, Netmon and Wireshark aren't cutting it)
The only possible ways to set a rich presence are documented in the official SDK which uses IPC for setting the presence. sdk on github official documentation
As you can see on github, some people have already written libraries for other languages based on the official SDK: wrappers and implementations.
After a lot more Reverse Engineering, the Rich Presence is sent via the Gateway with op code 3 and the Game object, Minimum args Name and Type and a far more complex object you can find in https://github.com/Avid29/QuarrelRichPresence/blob/master/Objects.cs

How to define custom IClientStore to support 3rd Party Developers

I can't seem to find in the Identity Server 4 documentation on how to support Clients that are 3rd party developers and not just applications.
How can I implement a custom IClientStore to support clients that are actually developers connecting to my APIs.
Thanks
The official docs mention this:
At runtime, clients are retrieved via an implementation of the IClientStore. This allows loading them from arbitrary data sources like config files or databases. For this document we will use the in-memory version of the client store. You can wire up the in-memory store in ConfigureServices via the AddInMemoryClients extensions method.
This suggests that you should provide your own implemenation. I'd presume this as well, given this similar (perhaps even duplicate?) question, and that one of the IDS4 authors seems (at first glance) to suggest something similar.
Bottom line: roll your own IClientStore implementation.

Publish one product to multiple sites

Is there a way to have one product definition and have it publish to multiple sites? I am looking for this ability specifically in DNN or Umbraco, either with free or paid extensions. I did install both the platforms and played with the free extensions and looked for any extension offering such functionality but did not find one. Any links or pointers are highly appreciated!
I had looked up for this info in many places before reaching over to the expert pool here, hoping to get some hints;
In umbraco there is the built in /base extension (http://our.umbraco.org/wiki/reference/umbraco-base) which enables you to access product data that is maintained in Umbraco from other websites. Base is REST-ish so the implementation is well documented - you can access the data as XML or JSON (Returning Json instead of XML with Umbraco Base).
Also as the implementation is REST-ish the other websites that consume the content maintained in the core site could be written in anything that can consume a REST feed eg html & javascript.
It's not 100% clear to me what setup you're after, but if you're looking to set up a traditional Authoring/Delivery configuration - one of the few paid offerings Umbraco has is called Courier. It's a very reasonably priced (~$135USD,/99EUR) deployment manager that handles syncing content between two sites, i.e., Authoring and a Delivery server.
It's a very smart tool that manages content, configuration, and dependencies. It's neat and also supports a great open-source project!
If you're looking to setup something more like a centralized product database that is used by many sites - amelvin is on good pointer with BASE. They have a nice api where you may also set up your own webservice (beyond their own webservice functaionality!).
If you need this centralized product data to notify the other sites to update their caches - i encourage you to look into the 'distributedCall' functionality.
There's a bit of documentation on distributed calls in this load-balancing tutorial that may help understand the concept a bit better.
...Hope this helps get pointed in the right direction.

How to list the namespaces of a Citrusleaf/AeroSpike host?

I want to list the namespaces on a host remotely using the C# Client SDK, and the documentation is very scarce about it.
I am aware of a server tool to do this but I need to query that from a maintenance tool that I am writing, so using the server console is not an option.
Does anybody know if this is possible and if so how to do it?
You can make an info call with the string "namespaces" and parse the returned value.
doc on c# info API: http://www.aerospike.com/apidocs/csharp/html/Methods_T_Aerospike_Client_Info.htm
You can get that information by emulating the logic that clmonitor utilizes to communicate with the Aerospike cluster. Clmonitor is written in Python; executing the 'info' command in clmonitor provides a wealth of information, a subset of which is the list of namespaces. I suggest that you emulate the logic used by clmonitor in your C# code to communicate with the cluster and then parse out the information that you require. In the future, I suggest that you take advantage of the Aerospike forums to ask questions about Aerospike. Thank you for your interest in Aerospike.

Graph Databases: standalone with java api

I am looking into graph database systems, but most of them seem to be either embedded or accessible via html request. I am searching for a standalone server, accessible via a java api, that supports acid (and clustering), preferrably open source.
I like neo4j, but I don't want to embed my db or access it with (slow) html requests, it has to be accessible by multiple systems. If I got it all wrong and neo4j is a super choice, please provide a link or name to a suitable driver, if you know one. Thank you.
Check out InfiniteGraph. It is not open source, but there is a free version for up to 1 million nodes and edges.

Resources