If this could be used to check if the first post of the topic was edited, we have an identifier.
When is the first post typically edied, when the author updates the version information/changelog.
You have been faster than me again
If you look at the results of the query that is used to fetch the plugins today, there are already some “date fields” there: https://community.openhab.org/c/marketplace/69/l/latest.json
It doesn’t seem like any of the dates identify when the first post was last edited though, to get that you must probably fetch each topic: https://community.openhab.org/t/matter-binding/161138.json
{
"post_stream": {
"posts": [
{
"id": 919246,
"name": "Dan Cunningham",
"username": "digitaldan",
"avatar_template": "/user_avatar/community.openhab.org/digitaldan/{size}/98239_2.png",
"created_at": "2024-12-26T21:54:51.740Z",
"cooked": "<p><img src=\"//community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/d/8/d8a3dcce288ffe45535627429b1500cd72edf33c.jpeg\" alt=\"logo\" data-base62-sha1=\"uUucRqN2El5NvlxbcXT63STAgji\" width=\"640\" height=\"222\"></p>\n<p>The Matter Binding for openHAB allows seamless integration with Matter-compatible devices as well as exposing openHAB as a Matter Bridge.</p>\n<p><strong>Please note this binding requires openHAB 4.3 builds or later that support discovery codes when searching for devices.</strong></p>\n<p>The Matter binding currently supports many types of devices including lighting, sensors, thermostats, fans, locks, buttons and more. Additional devices will be added as they become available for testing.</p>\n<p>If you are having issues, please ALWAYS include the following information before posting:</p>\n<ol>\n<li>Hardware and Virtualization info (NUC, Pi, Docker, Proxmox, VMWare, etc…)</li>\n<li>Operating System and Versions</li>\n<li>Network configurations (Vlans, wifi, ethernet, multiple interfaces, etc…)</li>\n<li>openHAB version</li>\n<li>Logs using TRACE logging</li>\n<li>Confirm you have read the <a href=\"https://github.com/digitaldan/openhab-addons/blob/matter/bundles/org.openhab.binding.matter/README.md\">Matter README</a> thoroughly</li>\n<li>Is this an issue with the controller or bridge feature?</li>\n</ol>\n<h2><a name=\"p-919246-supported-modes-1\" class=\"anchor\" href=\"#p-919246-supported-modes-1\"></a>Supported modes</h2>\n<p>This binding supports 2 different types of Matter functionality.</p>\n<ul>\n<li>\n<p>A Matter controller</p>\n<ul>\n<li>This allows openHAB to discover and control other Matter devices like lights, thermostats, window coverings, locks, etc…</li>\n</ul>\n</li>\n<li>\n<p>A Matter Bridge</p>\n<ul>\n<li>This allows openHAB to expose items as Matter devices to other Matter clients. This allows local control of openHAB devices from 3rd party ecosystems like Apple Home, Amazon Alexa, and Google Home.</li>\n</ul>\n</li>\n</ul>\n<p>These are 2 separate features, with different configurations and do not interact with each other.</p>\n<h2><a name=\"p-919246-quick-start-2\" class=\"anchor\" href=\"#p-919246-quick-start-2\"></a>Quick Start</h2>\n<p>To add a Matter device to openHAB:</p>\n<ol>\n<li>Ensure you have manually added a <code>Controller</code> thing from the Main UI. This will create a local Matter Fabric for devices.</li>\n<li>Get a pairing code from either the device manufacturer if new, or from another matter system if the device is already connected (like Amazon Alexa, Apple Home, or Google Home). (if this is a Thread Device, see the README for additional instructions)</li>\n<li>Scan for a device in the Main UI using the Matter binding. Enter the code (with or without dashes) then hit “scan”</li>\n<li>Add the device if found</li>\n</ol>\n<p>To Expose openHAB <code>Items</code> to Matter clients like Amazon Alexa, Apple Home, and Google Home</p>\n<ol>\n<li>Add <code>matter</code> metadata to the item you wish to expose, ie: <code>matter=\"DimmableLight\"</code> . See the README for a list of tags and examples.</li>\n<li>Pair a matter controller (Amazon Alexa, Apple Home, Google Home, etc…) using the pairing code found in the Main UI → Settings → Add-on Settings → Matter Binding. Make sure “Allow Commissioning” is enabled (click save if needed)</li>\n</ol>\n<h2><a name=\"p-919246-readme-and-detailed-information-on-matter-3\" class=\"anchor\" href=\"#p-919246-readme-and-detailed-information-on-matter-3\"></a>README and Detailed Information on Matter</h2>\n<p>Please refer to the <a href=\"https://github.com/digitaldan/openhab-addons/blob/matter/bundles/org.openhab.binding.matter/README.md\">Matter README</a> for detailed information on the Matter protocol, IPV6 requirements, Thread support, device type support and more.</p>\n<p>If you are having issues, PLEASE read the <a href=\"https://github.com/digitaldan/openhab-addons/blob/matter/bundles/org.openhab.binding.matter/README.md\">Matter README</a> carefully before asking for help. Its a bit long, but contains important information.</p>\n<h2><a name=\"p-919246-matter-and-ipv6-important-4\" class=\"anchor\" href=\"#p-919246-matter-and-ipv6-important-4\"></a>Matter and IPv6 (IMPORTANT!!!)</h2>\n<p>Matter <strong>requires</strong> IPv6 to be enabled and be routable between openHAB and the Matter device. This means IPv6 needs to be enabled on the host openHAB is running, and the network must be able route IPv6 unicast and multicast messages. Docker, VLANs, subnets and other configurations can prohibit Matter from working if not configured correctly. See the <a href=\"https://github.com/digitaldan/openhab-addons/blob/matter/bundles/org.openhab.binding.matter/README.md#IPv6-Requirements\">IPv6 Requirements</a> section of the readme for more information. This is probably the <span class=\"hashtag-raw\">#1</span> reason for support issues.</p>\n<h2><a name=\"p-919246-help-wanted-5\" class=\"anchor\" href=\"#p-919246-help-wanted-5\"></a>Help Wanted <img src=\"https://community.openhab.org/images/emoji/twitter/slight_smile.png?v=12\" title=\":slight_smile:\" class=\"emoji\" alt=\":slight_smile:\" loading=\"lazy\" width=\"20\" height=\"20\"></h2>\n<p>Please don’t be afraid to create PRs, refactor code, add documentation, etc… I would love to have others collaborate on and enhance our Matter support. Its a very feature rich ecosystem that would benefit from other’s support and points of view.</p>\n<h2><a name=\"p-919246-resources-6\" class=\"anchor\" href=\"#p-919246-resources-6\"></a>Resources</h2>\n<p><a href=\"https://github.com/digitaldan/openhab-addons/releases/download/matter-v1/org.openhab.binding.matter-4.3.0-SNAPSHOT.jar\">Jar file (OH4.3+)</a></p>\n<p><a href=\"https://github.com/digitaldan/openhab-addons/tree/matter/bundles/org.openhab.binding.matter\">Source code and documentation</a></p>\n<h2><a name=\"p-919246-changelog-7\" class=\"anchor\" href=\"#p-919246-changelog-7\"></a>Changelog</h2>\n<h3><a name=\"p-919246-version-01-8\" class=\"anchor\" href=\"#p-919246-version-01-8\"></a>Version 0.1</h3>\n<p>Initial Release</p>",
"post_number": 1,
"post_type": 1,
"updated_at": "2024-12-27T00:08:41.361Z",
"reply_count": 0,
"reply_to_post_number": null,
"quote_count": 0,
"incoming_link_count": 345,
"reads": 197,
"readers_count": 196,
"score": 2289.4,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Dan Cunningham",
"primary_group_name": "maintainers",
"flair_name": "maintainers",
"flair_url": "fa-star",
"flair_bg_color": null,
"flair_color": "FF6600",
"flair_group_id": 42,
"version": 3,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"link_counts": [
{
"url": "https://github.com/digitaldan/openhab-addons/blob/matter/bundles/org.openhab.binding.matter/README.md",
"internal": false,
"reflection": false,
"clicks": 75
},
{
"url": "https://github.com/digitaldan/openhab-addons/tree/matter/bundles/org.openhab.binding.matter",
"internal": false,
"reflection": false,
"clicks": 29
},
{
"url": "https://github.com/digitaldan/openhab-addons/blob/matter/bundles/org.openhab.binding.matter/README.md#IPv6-Requirements",
"internal": false,
"reflection": false,
"clicks": 22
},
{
"url": "https://github.com/digitaldan/openhab-addons/releases/download/matter-v1/org.openhab.binding.matter-4.3.0-SNAPSHOT.jar",
"internal": false,
"reflection": false,
"clicks": 16
},
{
"url": "https://community.openhab.org/t/incorporating-matter/127907/867",
"internal": true,
"reflection": true,
"title": "Incorporating Matter",
"clicks": 1
}
],
"read": true,
"user_title": "Maintainer",
"title_is_group": true,
"bookmarked": false,
"actions_summary": [
{
"id": 2,
"count": 29
}
],
"moderator": false,
"admin": true,
"staff": true,
"user_id": 49,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919257,
"name": "Pedro Liberal",
"username": "Pedro_Liberal",
"avatar_template": "/user_avatar/community.openhab.org/pedro_liberal/{size}/113638_2.png",
"created_at": "2024-12-26T22:21:12.718Z",
"cooked": "<p>Excellent contribution!<br>\nJust recently I’ve added a govee t3 lite with matter and it’s working great <img src=\"https://community.openhab.org/images/emoji/twitter/slight_smile.png?v=12\" title=\":slight_smile:\" class=\"emoji\" alt=\":slight_smile:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>",
"post_number": 2,
"post_type": 1,
"updated_at": "2024-12-26T22:21:28.705Z",
"reply_count": 0,
"reply_to_post_number": null,
"quote_count": 0,
"incoming_link_count": 1,
"reads": 164,
"readers_count": 163,
"score": 82.8,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Pedro Liberal",
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_bg_color": null,
"flair_color": null,
"flair_group_id": null,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Regular",
"title_is_group": false,
"bookmarked": false,
"actions_summary": [
{
"id": 2,
"count": 1
}
],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 42652,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919267,
"name": "Lolodomo",
"username": "Lolodomo",
"avatar_template": "/letter_avatar_proxy/v4/letter/l/ac91a4/{size}.png",
"created_at": "2024-12-26T23:45:26.612Z",
"cooked": "<p>Hi Dan,<br>\nThe binding does not appear as available because the tag “published” is missing.</p>",
"post_number": 3,
"post_type": 1,
"updated_at": "2024-12-26T23:45:26.612Z",
"reply_count": 1,
"reply_to_post_number": null,
"quote_count": 0,
"incoming_link_count": 1,
"reads": 162,
"readers_count": 161,
"score": 87.4,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Lolodomo",
"primary_group_name": "maintainers",
"flair_name": "maintainers",
"flair_url": "fa-star",
"flair_bg_color": null,
"flair_color": "FF6600",
"flair_group_id": 42,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Maintainer",
"title_is_group": true,
"bookmarked": false,
"actions_summary": [
{
"id": 2,
"count": 1
}
],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 1923,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919272,
"name": "Dan Cunningham",
"username": "digitaldan",
"avatar_template": "/user_avatar/community.openhab.org/digitaldan/{size}/98239_2.png",
"created_at": "2024-12-27T00:09:03.616Z",
"cooked": "<aside class=\"quote group-maintainers\" data-username=\"Lolodomo\" data-post=\"3\" data-topic=\"161138\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img loading=\"lazy\" alt=\"\" width=\"24\" height=\"24\" src=\"https://community.openhab.org/letter_avatar_proxy/v4/letter/l/ac91a4/48.png\" class=\"avatar\"> Lolodomo:</div>\n<blockquote>\n<p>the tag “published” is missing.</p>\n</blockquote>\n</aside>\n<p>Thanks! I just added it.</p>",
"post_number": 4,
"post_type": 1,
"updated_at": "2024-12-27T00:09:03.616Z",
"reply_count": 0,
"reply_to_post_number": 3,
"quote_count": 1,
"incoming_link_count": 0,
"reads": 159,
"readers_count": 158,
"score": 31.8,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Dan Cunningham",
"primary_group_name": "maintainers",
"flair_name": "maintainers",
"flair_url": "fa-star",
"flair_bg_color": null,
"flair_color": "FF6600",
"flair_group_id": 42,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Maintainer",
"title_is_group": true,
"bookmarked": false,
"actions_summary": [],
"moderator": false,
"admin": true,
"staff": true,
"user_id": 49,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919277,
"name": "Michael Cumming",
"username": "mjcumming",
"avatar_template": "/user_avatar/community.openhab.org/mjcumming/{size}/73372_2.png",
"created_at": "2024-12-27T01:57:55.219Z",
"cooked": "<p><a class=\"mention\" href=\"/u/digitaldan\">@digitaldan</a> thank you for all the great work on this binding - without it OpenHAB would quickly lose its relevance. I have no doubt that going forward the majority of home automation devices will be Matter based.</p>",
"post_number": 5,
"post_type": 1,
"updated_at": "2024-12-27T01:57:55.219Z",
"reply_count": 0,
"reply_to_post_number": null,
"quote_count": 0,
"incoming_link_count": 1,
"reads": 153,
"readers_count": 152,
"score": 95.6,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Michael Cumming",
"primary_group_name": "foundationmembers",
"flair_name": "foundationmembers",
"flair_url": "far-smile",
"flair_bg_color": null,
"flair_color": "00DD22",
"flair_group_id": 43,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Foundation member",
"title_is_group": true,
"bookmarked": false,
"actions_summary": [
{
"id": 2,
"count": 2
}
],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 23909,
"hidden": false,
"trust_level": 2,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919289,
"name": "Amin",
"username": "tizen",
"avatar_template": "/letter_avatar_proxy/v4/letter/t/e99b99/{size}.png",
"created_at": "2024-12-27T08:20:57.217Z",
"cooked": "<p>Hi <a class=\"mention\" href=\"/u/digitaldan\">@digitaldan</a> ,</p>\n<p>I m able to control Aqara U200 Door lock using this binding. Thanks for all the support. let me know if you need any other info to add more lock features in this binding.</p>\n<p>On a seperate note, is there any Item type for Locks in OpenHAB? I feel there should be different action to unlock, like slider or anything similar. I know I can build it using UI controls but having a built-in support will be really helpful.</p>\n<p>Having a normal switch for lock seems bit risky. Switch items can be touched accidently which may leave the door open, especially on doors which dont have latch handle from outside. This is very common in India. We just have,generally, dead bolt key hole outside.</p>\n<p>I m thinking to put small magnet catcher to avoid situation where door opens itself after it is unlocked.</p>\n<p>Anyway thanks for this amazing binding. I think, I m going to only use matter enabled devices going farword for simplier integration.</p>\n<p>Thank you for your support!</p>",
"post_number": 6,
"post_type": 1,
"updated_at": "2024-12-27T08:23:08.504Z",
"reply_count": 1,
"reply_to_post_number": null,
"quote_count": 0,
"incoming_link_count": 2,
"reads": 153,
"readers_count": 152,
"score": 90.6,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Amin",
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_bg_color": null,
"flair_color": null,
"flair_group_id": null,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": null,
"bookmarked": false,
"actions_summary": [
{
"id": 2,
"count": 1
}
],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 39212,
"hidden": false,
"trust_level": 2,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919312,
"name": "Hans-Jörg Merk",
"username": "hmerk",
"avatar_template": "/user_avatar/community.openhab.org/hmerk/{size}/56432_2.png",
"created_at": "2024-12-27T10:06:37.399Z",
"cooked": "<aside class=\"quote no-group\" data-username=\"tizen\" data-post=\"6\" data-topic=\"161138\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img loading=\"lazy\" alt=\"\" width=\"24\" height=\"24\" src=\"https://community.openhab.org/letter_avatar_proxy/v4/letter/t/e99b99/48.png\" class=\"avatar\"> tizen:</div>\n<blockquote>\n<p>Having a normal switch for lock seems bit risky. Switch items can be touched accidently which</p>\n</blockquote>\n</aside>\n<p>There is no slider control for locks,<br>\nThis is what you might be looking for. You can set this a the default standalone and/or listitem widget for your lock.<br>\n[Custom Widget - Confirm Switch - Apps & Services / HABPanel - openHAB Community] <a href=\"https://community.openhab.org/t/confirm-button/146490\">Confirm Button - Add-on Marketplace / UI Widgets - openHAB Community</a></p>",
"post_number": 7,
"post_type": 1,
"updated_at": "2024-12-27T10:06:37.399Z",
"reply_count": 0,
"reply_to_post_number": 6,
"quote_count": 1,
"incoming_link_count": 2,
"reads": 142,
"readers_count": 141,
"score": 53.4,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Hans-Jörg Merk",
"primary_group_name": "foundationmembers",
"flair_name": "foundationmembers",
"flair_url": "far-smile",
"flair_bg_color": null,
"flair_color": "00DD22",
"flair_group_id": 43,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"link_counts": [
{
"url": "https://community.openhab.org/t/confirm-button/146490",
"internal": true,
"reflection": false,
"title": "Confirm Button",
"clicks": 13
}
],
"read": true,
"user_title": "Foundation member",
"title_is_group": true,
"bookmarked": false,
"actions_summary": [
{
"id": 2,
"count": 1
}
],
"moderator": false,
"admin": true,
"staff": true,
"user_id": 1472,
"hidden": false,
"trust_level": 4,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919338,
"name": "Pedro Liberal",
"username": "Pedro_Liberal",
"avatar_template": "/user_avatar/community.openhab.org/pedro_liberal/{size}/113638_2.png",
"created_at": "2024-12-27T12:01:59.015Z",
"cooked": "<p>In case anyone else skims the documentation - instead of actually reading it - don’t forgot to link a switch item to your color control matter channel if you need a simple on/off control for it <img src=\"https://community.openhab.org/images/emoji/twitter/slight_smile.png?v=12\" title=\":slight_smile:\" class=\"emoji\" alt=\":slight_smile:\" loading=\"lazy\" width=\"20\" height=\"20\"></p>\n<p>:oops:</p>",
"post_number": 8,
"post_type": 1,
"updated_at": "2024-12-27T12:01:59.015Z",
"reply_count": 0,
"reply_to_post_number": null,
"quote_count": 0,
"incoming_link_count": 0,
"reads": 136,
"readers_count": 135,
"score": 27.2,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Pedro Liberal",
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_bg_color": null,
"flair_color": null,
"flair_group_id": null,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Regular",
"title_is_group": false,
"bookmarked": false,
"actions_summary": [],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 42652,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919390,
"name": "KJ",
"username": "kjknauss",
"avatar_template": "/letter_avatar_proxy/v4/letter/k/dfb087/{size}.png",
"created_at": "2024-12-27T18:04:34.102Z",
"cooked": "<p>Any tips or tricks to switching from the jar file to the marketplace version? Or should we just stay on the jar until binding becomes official?</p>",
"post_number": 9,
"post_type": 1,
"updated_at": "2024-12-27T18:04:34.102Z",
"reply_count": 1,
"reply_to_post_number": null,
"quote_count": 0,
"incoming_link_count": 1,
"reads": 129,
"readers_count": 128,
"score": 35.8,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "KJ",
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_bg_color": null,
"flair_color": null,
"flair_group_id": null,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "",
"bookmarked": false,
"actions_summary": [],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 29452,
"hidden": false,
"trust_level": 2,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919393,
"name": "SiHui",
"username": "sihui",
"avatar_template": "/user_avatar/community.openhab.org/sihui/{size}/55674_2.png",
"created_at": "2024-12-27T18:14:58.909Z",
"cooked": "<aside class=\"quote no-group\" data-username=\"kjknauss\" data-post=\"9\" data-topic=\"161138\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img loading=\"lazy\" alt=\"\" width=\"24\" height=\"24\" src=\"https://community.openhab.org/letter_avatar_proxy/v4/letter/k/dfb087/48.png\" class=\"avatar\"> kjknauss:</div>\n<blockquote>\n<p>switching from the jar file to the marketplace version?</p>\n</blockquote>\n</aside>\n<p>Delete the jar file in your addons folder and install the binding through the marketplace.<br>\nThat’s how I did it, no issues.</p>\n<p><img src=\"//community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/7/0/707c27a7cb489bfc49aa9b82d3f978962c3b5753.png\" alt=\"grafik\" data-base62-sha1=\"g35tAUNGBQOhLibhSgIkUQukSnF\" width=\"399\" height=\"163\"></p>",
"post_number": 10,
"post_type": 1,
"updated_at": "2024-12-27T18:16:10.280Z",
"reply_count": 1,
"reply_to_post_number": 9,
"quote_count": 1,
"incoming_link_count": 4,
"reads": 127,
"readers_count": 126,
"score": 125.4,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "SiHui",
"primary_group_name": "sustainingmembers",
"flair_name": "sustainingmembers",
"flair_url": "far-smile",
"flair_bg_color": null,
"flair_color": "FFAA00",
"flair_group_id": 45,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Sustaining member",
"title_is_group": true,
"bookmarked": false,
"actions_summary": [
{
"id": 2,
"count": 3
}
],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 1514,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919411,
"name": "Pedro Liberal",
"username": "Pedro_Liberal",
"avatar_template": "/user_avatar/community.openhab.org/pedro_liberal/{size}/113638_2.png",
"created_at": "2024-12-27T20:26:27.341Z",
"cooked": "<p>No restart no nothing?</p>",
"post_number": 11,
"post_type": 1,
"updated_at": "2024-12-27T20:26:27.341Z",
"reply_count": 2,
"reply_to_post_number": 10,
"quote_count": 0,
"incoming_link_count": 3,
"reads": 124,
"readers_count": 123,
"score": 49.8,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Pedro Liberal",
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_bg_color": null,
"flair_color": null,
"flair_group_id": null,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Regular",
"title_is_group": false,
"reply_to_user": {
"username": "sihui",
"name": "SiHui",
"avatar_template": "/user_avatar/community.openhab.org/sihui/{size}/55674_2.png"
},
"bookmarked": false,
"actions_summary": [],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 42652,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919412,
"name": "SiHui",
"username": "sihui",
"avatar_template": "/user_avatar/community.openhab.org/sihui/{size}/55674_2.png",
"created_at": "2024-12-27T20:28:40.424Z",
"cooked": "<p>Nope, not in my case.</p>",
"post_number": 12,
"post_type": 1,
"updated_at": "2024-12-27T20:28:40.742Z",
"reply_count": 0,
"reply_to_post_number": 11,
"quote_count": 0,
"incoming_link_count": 1,
"reads": 120,
"readers_count": 119,
"score": 44.0,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "SiHui",
"primary_group_name": "sustainingmembers",
"flair_name": "sustainingmembers",
"flair_url": "far-smile",
"flair_bg_color": null,
"flair_color": "FFAA00",
"flair_group_id": 45,
"version": 2,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Sustaining member",
"title_is_group": true,
"reply_to_user": {
"username": "Pedro_Liberal",
"name": "Pedro Liberal",
"avatar_template": "/user_avatar/community.openhab.org/pedro_liberal/{size}/113638_2.png"
},
"bookmarked": false,
"actions_summary": [
{
"id": 2,
"count": 1
}
],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 1514,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": "Automatically removed quote of whole previous post.",
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919416,
"name": "KJ",
"username": "kjknauss",
"avatar_template": "/letter_avatar_proxy/v4/letter/k/dfb087/{size}.png",
"created_at": "2024-12-27T20:44:46.702Z",
"cooked": "<p>Just did it. Delete jar, add binding from marketplace, all came back online.</p>",
"post_number": 13,
"post_type": 1,
"updated_at": "2024-12-27T20:44:46.702Z",
"reply_count": 0,
"reply_to_post_number": 11,
"quote_count": 0,
"incoming_link_count": 2,
"reads": 122,
"readers_count": 121,
"score": 94.4,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "KJ",
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_bg_color": null,
"flair_color": null,
"flair_group_id": null,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "",
"reply_to_user": {
"username": "Pedro_Liberal",
"name": "Pedro Liberal",
"avatar_template": "/user_avatar/community.openhab.org/pedro_liberal/{size}/113638_2.png"
},
"bookmarked": false,
"actions_summary": [
{
"id": 2,
"count": 2
}
],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 29452,
"hidden": false,
"trust_level": 2,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919609,
"name": "John Schmitz",
"username": "jswim788",
"avatar_template": "/user_avatar/community.openhab.org/jswim788/{size}/36341_2.png",
"created_at": "2024-12-28T23:48:31.649Z",
"cooked": "<p>Tried to enable commissioning and got this warning. I can see that the value ‘240’ is used for the ‘discriminator’ in the settings page - is that related? OH 4.3 release, Matter binding: 4.3.0.202412262040.</p>\n<p>Strangely, I cannot change the log level in the Matter binding page. Other bindings show the selection for the log level, but not the Matter binding. (This has worked in the past with earlier versions of the binding - I’ll try a reboot to see if it reappears.)</p>\n<pre data-code-wrap=\"yaml\"><code class=\"lang-yaml\">2024-12-28 15:35:05.003 [WARN ] [penhab.core.config.core.ConfigParser] - Could not set field value for field 'discriminator': For input string: \"240.0\"\njava.lang.NumberFormatException: For input string: \"240.0\"\n at java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) ~[?:?]\n at java.lang.Integer.parseInt(Integer.java:668) ~[?:?]\n at java.lang.Integer.valueOf(Integer.java:999) ~[?:?]\n at org.openhab.core.config.core.ConfigParser.valueAs(ConfigParser.java:216) ~[bundleFile:?]\n at org.openhab.core.config.core.ConfigParser.configurationAs(ConfigParser.java:128) [bundleFile:?]\n at org.openhab.core.config.core.Configuration.as(Configuration.java:79) [bundleFile:?]\n at org.openhab.binding.matter.internal.bridge.MatterBridge.modified(MatterBridge.java:202) [bundleFile:?]\n at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]\n at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]\n at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]\n at java.lang.reflect.Method.invoke(Method.java:569) ~[?:?]\n at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:245) [bundleFile:?]\n at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) [bundleFile:?]\n at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:687) [bundleFile:?]\n at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:531) [bundleFile:?]\n at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317) [bundleFile:?]\n at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeModifiedMethod(SingleComponentManager.java:856) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.SingleComponentManager.modify(SingleComponentManager.java:810) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:725) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:686) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.configurationUpdated(ConfigurableComponentHolder.java:440) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.RegionConfigurationSupport.configurationEvent(RegionConfigurationSupport.java:347) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.RegionConfigurationSupport$2.configurationEvent(RegionConfigurationSupport.java:115) [bundleFile:?]\n at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1723) [bundleFile:?]\n at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1664) [bundleFile:?]\n at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122) [bundleFile:?]\n at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84) [bundleFile:?]\n at java.lang.Thread.run(Thread.java:840) [?:?]\n2024-12-28 15:35:10.386 [WARN ] [penhab.core.config.core.ConfigParser] - Could not set field value for field 'discriminator': For input string: \"240.0\"\njava.lang.NumberFormatException: For input string: \"240.0\"\n at java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) ~[?:?]\n at java.lang.Integer.parseInt(Integer.java:668) ~[?:?]\n at java.lang.Integer.valueOf(Integer.java:999) ~[?:?]\n at org.openhab.core.config.core.ConfigParser.valueAs(ConfigParser.java:216) ~[bundleFile:?]\n at org.openhab.core.config.core.ConfigParser.configurationAs(ConfigParser.java:128) [bundleFile:?]\n at org.openhab.core.config.core.Configuration.as(Configuration.java:79) [bundleFile:?]\n at org.openhab.binding.matter.internal.bridge.MatterBridge.modified(MatterBridge.java:202) [bundleFile:?]\n at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]\n at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]\n at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]\n at java.lang.reflect.Method.invoke(Method.java:569) ~[?:?]\n at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:245) [bundleFile:?]\n at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) [bundleFile:?]\n at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:687) [bundleFile:?]\n at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:531) [bundleFile:?]\n at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317) [bundleFile:?]\n at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeModifiedMethod(SingleComponentManager.java:856) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.SingleComponentManager.modify(SingleComponentManager.java:810) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:725) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:686) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.configurationUpdated(ConfigurableComponentHolder.java:440) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.RegionConfigurationSupport.configurationEvent(RegionConfigurationSupport.java:347) [bundleFile:?]\n at org.apache.felix.scr.impl.manager.RegionConfigurationSupport$2.configurationEvent(RegionConfigurationSupport.java:115) [bundleFile:?]\n at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1723) [bundleFile:?]\n at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1664) [bundleFile:?]\n at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122) [bundleFile:?]\n at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84) [bundleFile:?]\n at java.lang.Thread.run(Thread.java:840) [?:?]\n\n</code></pre>",
"post_number": 14,
"post_type": 1,
"updated_at": "2024-12-28T23:48:31.649Z",
"reply_count": 2,
"reply_to_post_number": null,
"quote_count": 0,
"incoming_link_count": 0,
"reads": 111,
"readers_count": 110,
"score": 32.2,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "John Schmitz",
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_bg_color": null,
"flair_color": null,
"flair_group_id": null,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"link_counts": [
{
"url": "https://community.openhab.org/t/shelly-binding/56862/4235",
"internal": true,
"reflection": true,
"title": "Shelly Binding",
"clicks": 0
}
],
"read": true,
"user_title": null,
"bookmarked": false,
"actions_summary": [],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 11017,
"hidden": false,
"trust_level": 2,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919635,
"name": "Lolodomo",
"username": "Lolodomo",
"avatar_template": "/letter_avatar_proxy/v4/letter/l/ac91a4/{size}.png",
"created_at": "2024-12-29T09:28:11.531Z",
"cooked": "<aside class=\"quote no-group\" data-username=\"jswim788\" data-post=\"14\" data-topic=\"161138\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img loading=\"lazy\" alt=\"\" width=\"24\" height=\"24\" src=\"https://community.openhab.org/user_avatar/community.openhab.org/jswim788/48/36341_2.png\" class=\"avatar\"> jswim788:</div>\n<blockquote>\n<p>Strangely, I cannot change the log level in the Matter binding page. Other bindings show the selection for the log level, but not the Matter binding.</p>\n</blockquote>\n</aside>\n<p>Same for me.<br>\nIs it because installed from marketplace?<br>\nIs it working for other bindings installed from marketplace?</p>",
"post_number": 15,
"post_type": 1,
"updated_at": "2024-12-29T09:28:11.531Z",
"reply_count": 1,
"reply_to_post_number": 14,
"quote_count": 1,
"incoming_link_count": 0,
"reads": 96,
"readers_count": 95,
"score": 24.2,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Lolodomo",
"primary_group_name": "maintainers",
"flair_name": "maintainers",
"flair_url": "fa-star",
"flair_bg_color": null,
"flair_color": "FF6600",
"flair_group_id": 42,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Maintainer",
"title_is_group": true,
"bookmarked": false,
"actions_summary": [],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 1923,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919639,
"name": "SiHui",
"username": "sihui",
"avatar_template": "/user_avatar/community.openhab.org/sihui/{size}/55674_2.png",
"created_at": "2024-12-29T10:06:28.333Z",
"cooked": "<aside class=\"quote group-maintainers\" data-username=\"Lolodomo\" data-post=\"15\" data-topic=\"161138\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img loading=\"lazy\" alt=\"\" width=\"24\" height=\"24\" src=\"https://community.openhab.org/letter_avatar_proxy/v4/letter/l/ac91a4/48.png\" class=\"avatar\"> Lolodomo:</div>\n<blockquote>\n<p>Same for me.</p>\n</blockquote>\n</aside>\n<p>Same here, openHAB 4.3.0 Release</p>\n<aside class=\"quote group-maintainers\" data-username=\"Lolodomo\" data-post=\"15\" data-topic=\"161138\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img loading=\"lazy\" alt=\"\" width=\"24\" height=\"24\" src=\"https://community.openhab.org/letter_avatar_proxy/v4/letter/l/ac91a4/48.png\" class=\"avatar\"> Lolodomo:</div>\n<blockquote>\n<p>Is it working for other bindings installed from marketplace?</p>\n</blockquote>\n</aside>\n<p>I have two bindings installed from Marketplace, Matter and Worxlandroid, with both bindings I cannot change the loglevel from the UI.</p>\n<p>It works fine though for all other bindings.</p>",
"post_number": 16,
"post_type": 1,
"updated_at": "2024-12-29T10:06:28.333Z",
"reply_count": 1,
"reply_to_post_number": 15,
"quote_count": 1,
"incoming_link_count": 0,
"reads": 95,
"readers_count": 94,
"score": 24.0,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "SiHui",
"primary_group_name": "sustainingmembers",
"flair_name": "sustainingmembers",
"flair_url": "far-smile",
"flair_bg_color": null,
"flair_color": "FFAA00",
"flair_group_id": 45,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Sustaining member",
"title_is_group": true,
"bookmarked": false,
"actions_summary": [],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 1514,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919646,
"name": "Hans-Jörg Merk",
"username": "hmerk",
"avatar_template": "/user_avatar/community.openhab.org/hmerk/{size}/56432_2.png",
"created_at": "2024-12-29T10:51:30.502Z",
"cooked": "<aside class=\"quote group-sustainingmembers\" data-username=\"sihui\" data-post=\"16\" data-topic=\"161138\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img loading=\"lazy\" alt=\"\" width=\"24\" height=\"24\" src=\"https://community.openhab.org/user_avatar/community.openhab.org/sihui/48/55674_2.png\" class=\"avatar\"> sihui:</div>\n<blockquote>\n<p>I have two bindings installed from Marketplace, Matter and Worxlandroid, with both bindings I cannot change the loglevel from the UI.</p>\n</blockquote>\n</aside>\n<p>This is a known issue for bindings installed from Marketplace.</p>",
"post_number": 17,
"post_type": 1,
"updated_at": "2024-12-29T10:51:30.502Z",
"reply_count": 1,
"reply_to_post_number": 16,
"quote_count": 1,
"incoming_link_count": 0,
"reads": 92,
"readers_count": 91,
"score": 23.4,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Hans-Jörg Merk",
"primary_group_name": "foundationmembers",
"flair_name": "foundationmembers",
"flair_url": "far-smile",
"flair_bg_color": null,
"flair_color": "00DD22",
"flair_group_id": 43,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Foundation member",
"title_is_group": true,
"bookmarked": false,
"actions_summary": [],
"moderator": false,
"admin": true,
"staff": true,
"user_id": 1472,
"hidden": false,
"trust_level": 4,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919648,
"name": "SiHui",
"username": "sihui",
"avatar_template": "/user_avatar/community.openhab.org/sihui/{size}/55674_2.png",
"created_at": "2024-12-29T10:57:40.351Z",
"cooked": "<aside class=\"quote group-foundationmembers\" data-username=\"hmerk\" data-post=\"17\" data-topic=\"161138\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img loading=\"lazy\" alt=\"\" width=\"24\" height=\"24\" src=\"https://community.openhab.org/user_avatar/community.openhab.org/hmerk/48/56432_2.png\" class=\"avatar\"> hmerk:</div>\n<blockquote>\n<p>known issue</p>\n</blockquote>\n</aside>\n<p>Ahh, hadn’t heard about that.</p>",
"post_number": 18,
"post_type": 1,
"updated_at": "2024-12-29T10:57:40.351Z",
"reply_count": 1,
"reply_to_post_number": 17,
"quote_count": 1,
"incoming_link_count": 1,
"reads": 97,
"readers_count": 96,
"score": 29.4,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "SiHui",
"primary_group_name": "sustainingmembers",
"flair_name": "sustainingmembers",
"flair_url": "far-smile",
"flair_bg_color": null,
"flair_color": "FFAA00",
"flair_group_id": 45,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Sustaining member",
"title_is_group": true,
"bookmarked": false,
"actions_summary": [],
"moderator": false,
"admin": false,
"staff": false,
"user_id": 1514,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919649,
"name": "Hans-Jörg Merk",
"username": "hmerk",
"avatar_template": "/user_avatar/community.openhab.org/hmerk/{size}/56432_2.png",
"created_at": "2024-12-29T11:08:10.159Z",
"cooked": "<p>It has been discussed with <a class=\"mention\" href=\"/u/florian-h05\">@florian-h05</a> here:</p><aside class=\"quote\" data-post=\"577\" data-topic=\"132444\">\n <div class=\"title\">\n <div class=\"quote-controls\"></div>\n <img loading=\"lazy\" alt=\"\" width=\"24\" height=\"24\" src=\"https://community.openhab.org/user_avatar/community.openhab.org/hmerk/48/56432_2.png\" class=\"avatar\">\n <a href=\"https://community.openhab.org/t/contribution-lg-thinq-binding/132444/577\">Contribution - LG ThinQ Binding</a> <a class=\"badge-category__wrapper \" href=\"/c/add-ons/bindings/15\"><span data-category-id=\"15\" style=\"--category-badge-color: #25AAE2; --category-badge-text-color: #FFFFFF; --parent-category-badge-color: #25AAE2;\" data-parent-category-id=\"14\" data-drop-close=\"true\" class=\"badge-category --has-parent\"><span class=\"badge-category__name\">Bindings</span></span></a>\n </div>\n <blockquote>\n Thats strange. \nTried it yesterday with a different Marketplace Binding and saw the little gear icon. Today, it is gone… \nThird Party Marketplace Bindings like Smathome/J Tuya Binding still have this icon… \nWe will have to check…… \n<a class=\"mention\" href=\"/u/florian-h05\">@florian-h05</a> Do you have an idea what’s wrong here ???\n </blockquote>\n</aside>\n",
"post_number": 19,
"post_type": 1,
"updated_at": "2024-12-29T11:08:10.159Z",
"reply_count": 0,
"reply_to_post_number": 18,
"quote_count": 0,
"incoming_link_count": 0,
"reads": 98,
"readers_count": 97,
"score": 49.6,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Hans-Jörg Merk",
"primary_group_name": "foundationmembers",
"flair_name": "foundationmembers",
"flair_url": "far-smile",
"flair_bg_color": null,
"flair_color": "00DD22",
"flair_group_id": 43,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"link_counts": [
{
"url": "https://community.openhab.org/t/contribution-lg-thinq-binding/132444/577",
"internal": true,
"reflection": false,
"title": "Contribution - LG ThinQ Binding",
"clicks": 0
}
],
"read": true,
"user_title": "Foundation member",
"title_is_group": true,
"reply_to_user": {
"username": "sihui",
"name": "SiHui",
"avatar_template": "/user_avatar/community.openhab.org/sihui/{size}/55674_2.png"
},
"bookmarked": false,
"actions_summary": [
{
"id": 2,
"count": 2
}
],
"moderator": false,
"admin": true,
"staff": true,
"user_id": 1472,
"hidden": false,
"trust_level": 4,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
},
{
"id": 919693,
"name": "Dan Cunningham",
"username": "digitaldan",
"avatar_template": "/user_avatar/community.openhab.org/digitaldan/{size}/98239_2.png",
"created_at": "2024-12-29T15:42:59.498Z",
"cooked": "<aside class=\"quote no-group\" data-username=\"jswim788\" data-post=\"14\" data-topic=\"161138\">\n<div class=\"title\">\n<div class=\"quote-controls\"></div>\n<img loading=\"lazy\" alt=\"\" width=\"24\" height=\"24\" src=\"https://community.openhab.org/user_avatar/community.openhab.org/jswim788/48/36341_2.png\" class=\"avatar\"> jswim788:</div>\n<blockquote>\n<p><code>java.lang.NumberFormatException: For input string: \"240.0\"</code></p>\n</blockquote>\n</aside>\n<p>Hmm, thats odd, i wonder if somehow the UI is passing a float/double which breaks as we expect a int format ? I’ll take a look today.</p>",
"post_number": 20,
"post_type": 1,
"updated_at": "2024-12-29T15:42:59.498Z",
"reply_count": 1,
"reply_to_post_number": null,
"quote_count": 1,
"incoming_link_count": 0,
"reads": 99,
"readers_count": 98,
"score": 24.8,
"yours": false,
"topic_id": 161138,
"topic_slug": "matter-binding",
"display_username": "Dan Cunningham",
"primary_group_name": "maintainers",
"flair_name": "maintainers",
"flair_url": "fa-star",
"flair_bg_color": null,
"flair_color": "FF6600",
"flair_group_id": 42,
"version": 1,
"can_edit": false,
"can_delete": false,
"can_recover": false,
"can_see_hidden_post": false,
"can_wiki": false,
"read": true,
"user_title": "Maintainer",
"title_is_group": true,
"bookmarked": false,
"actions_summary": [],
"moderator": false,
"admin": true,
"staff": true,
"user_id": 49,
"hidden": false,
"trust_level": 3,
"deleted_at": null,
"user_deleted": false,
"edit_reason": null,
"can_view_edit_history": false,
"wiki": false,
"can_accept_answer": false,
"can_unaccept_answer": false,
"accepted_answer": false,
"topic_accepted_answer": false
}
],
"stream": [
919246,
919257,
919267,
919272,
919277,
919289,
919312,
919338,
919390,
919393,
919411,
919412,
919416,
919609,
919635,
919639,
919646,
919648,
919649,
919693,
919707,
919743,
919752,
919809,
919941,
919945,
919950,
920368,
920384,
920502,
920505,
920512,
920516,
920528,
920533,
920568,
920590,
920612,
920640,
920827,
920829,
920836,
920844,
920851,
920855,
920856,
920857,
921167,
921196,
921228,
921240,
921242,
921243,
921255,
921258,
921265,
921273,
921380,
921409,
921416
]
},
"timeline_lookup": [
[
1,
11
],
[
7,
10
],
[
14,
9
],
[
16,
8
],
[
25,
7
],
[
28,
5
],
[
30,
4
],
[
40,
3
],
[
48,
1
],
[
58,
0
]
],
"tags": [
"binding",
"published",
"beta"
],
"tags_descriptions": {},
"id": 161138,
"title": "Matter Binding",
"fancy_title": "Matter Binding",
"posts_count": 60,
"created_at": "2024-12-26T21:54:51.676Z",
"views": 1172,
"reply_count": 44,
"like_count": 55,
"last_posted_at": "2025-01-06T18:59:33.524Z",
"visible": true,
"closed": false,
"archived": false,
"has_summary": true,
"archetype": "regular",
"slug": "matter-binding",
"category_id": 73,
"word_count": 6209,
"deleted_at": null,
"user_id": 49,
"featured_link": null,
"pinned_globally": false,
"pinned_at": null,
"pinned_until": null,
"image_url": "//community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/d/8/d8a3dcce288ffe45535627429b1500cd72edf33c.jpeg",
"slow_mode_seconds": 0,
"draft": null,
"draft_key": "topic_161138",
"draft_sequence": null,
"unpinned": null,
"pinned": false,
"current_post_number": 1,
"highest_post_number": 60,
"deleted_by": null,
"actions_summary": [
{
"id": 4,
"count": 0,
"hidden": false,
"can_act": false
},
{
"id": 8,
"count": 0,
"hidden": false,
"can_act": false
},
{
"id": 10,
"count": 0,
"hidden": false,
"can_act": false
},
{
"id": 7,
"count": 0,
"hidden": false,
"can_act": false
}
],
"chunk_size": 20,
"bookmarked": false,
"topic_timer": null,
"message_bus_last_id": 383,
"participant_count": 13,
"show_read_indicator": false,
"thumbnails": [
{
"max_width": null,
"max_height": null,
"width": 640,
"height": 222,
"url": "//community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/d/8/d8a3dcce288ffe45535627429b1500cd72edf33c.jpeg"
}
],
"slow_mode_enabled_until": null,
"details": {
"can_edit": false,
"notification_level": 1,
"participants": [
{
"id": 49,
"username": "digitaldan",
"name": "Dan Cunningham",
"avatar_template": "/user_avatar/community.openhab.org/digitaldan/{size}/98239_2.png",
"post_count": 20,
"primary_group_name": "maintainers",
"flair_name": "maintainers",
"flair_url": "fa-star",
"flair_color": "FF6600",
"flair_bg_color": null,
"flair_group_id": 42,
"admin": true,
"trust_level": 3
},
{
"id": 42652,
"username": "Pedro_Liberal",
"name": "Pedro Liberal",
"avatar_template": "/user_avatar/community.openhab.org/pedro_liberal/{size}/113638_2.png",
"post_count": 9,
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_color": null,
"flair_bg_color": null,
"flair_group_id": null,
"trust_level": 3
},
{
"id": 1923,
"username": "Lolodomo",
"name": "Lolodomo",
"avatar_template": "/letter_avatar_proxy/v4/letter/l/ac91a4/{size}.png",
"post_count": 6,
"primary_group_name": "maintainers",
"flair_name": "maintainers",
"flair_url": "fa-star",
"flair_color": "FF6600",
"flair_bg_color": null,
"flair_group_id": 42,
"trust_level": 3
},
{
"id": 1514,
"username": "sihui",
"name": "SiHui",
"avatar_template": "/user_avatar/community.openhab.org/sihui/{size}/55674_2.png",
"post_count": 5,
"primary_group_name": "sustainingmembers",
"flair_name": "sustainingmembers",
"flair_url": "far-smile",
"flair_color": "FFAA00",
"flair_bg_color": null,
"flair_group_id": 45,
"trust_level": 3
},
{
"id": 46033,
"username": "MathiasK",
"name": "Mathias Karrasch",
"avatar_template": "/letter_avatar_proxy/v4/letter/m/c2a13f/{size}.png",
"post_count": 5,
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_color": null,
"flair_bg_color": null,
"flair_group_id": null,
"trust_level": 2
},
{
"id": 1472,
"username": "hmerk",
"name": "Hans-Jörg Merk",
"avatar_template": "/user_avatar/community.openhab.org/hmerk/{size}/56432_2.png",
"post_count": 3,
"primary_group_name": "foundationmembers",
"flair_name": "foundationmembers",
"flair_url": "far-smile",
"flair_color": "00DD22",
"flair_bg_color": null,
"flair_group_id": 43,
"admin": true,
"trust_level": 4
},
{
"id": 1194,
"username": "J-N-K",
"name": "Jan N. Klug",
"avatar_template": "/user_avatar/community.openhab.org/j-n-k/{size}/19276_2.png",
"post_count": 3,
"primary_group_name": "maintainers",
"flair_name": "maintainers",
"flair_url": "fa-star",
"flair_color": "FF6600",
"flair_bg_color": null,
"flair_group_id": 42,
"trust_level": 3
},
{
"id": 57267,
"username": "cryxy",
"name": "Fabian",
"avatar_template": "/user_avatar/community.openhab.org/cryxy/{size}/113793_2.png",
"post_count": 2,
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_color": null,
"flair_bg_color": null,
"flair_group_id": null,
"trust_level": 0
},
{
"id": 29452,
"username": "kjknauss",
"name": "KJ",
"avatar_template": "/letter_avatar_proxy/v4/letter/k/dfb087/{size}.png",
"post_count": 2,
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_color": null,
"flair_bg_color": null,
"flair_group_id": null,
"trust_level": 2
},
{
"id": 39212,
"username": "tizen",
"name": "Amin",
"avatar_template": "/letter_avatar_proxy/v4/letter/t/e99b99/{size}.png",
"post_count": 2,
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_color": null,
"flair_bg_color": null,
"flair_group_id": null,
"trust_level": 2
},
{
"id": 37472,
"username": "laursen",
"name": "Jacob Laursen",
"avatar_template": "/letter_avatar_proxy/v4/letter/l/dfb087/{size}.png",
"post_count": 1,
"primary_group_name": "maintainers",
"flair_name": "maintainers",
"flair_url": "fa-star",
"flair_color": "FF6600",
"flair_bg_color": null,
"flair_group_id": 42,
"trust_level": 3
},
{
"id": 23909,
"username": "mjcumming",
"name": "Michael Cumming",
"avatar_template": "/user_avatar/community.openhab.org/mjcumming/{size}/73372_2.png",
"post_count": 1,
"primary_group_name": "foundationmembers",
"flair_name": "foundationmembers",
"flair_url": "far-smile",
"flair_color": "00DD22",
"flair_bg_color": null,
"flair_group_id": 43,
"trust_level": 2
},
{
"id": 11017,
"username": "jswim788",
"name": "John Schmitz",
"avatar_template": "/user_avatar/community.openhab.org/jswim788/{size}/36341_2.png",
"post_count": 1,
"primary_group_name": null,
"flair_name": null,
"flair_url": null,
"flair_color": null,
"flair_bg_color": null,
"flair_group_id": null,
"trust_level": 2
}
],
"created_by": {
"id": 49,
"username": "digitaldan",
"name": "Dan Cunningham",
"avatar_template": "/user_avatar/community.openhab.org/digitaldan/{size}/98239_2.png"
},
"last_poster": {
"id": 42652,
"username": "Pedro_Liberal",
"name": "Pedro Liberal",
"avatar_template": "/user_avatar/community.openhab.org/pedro_liberal/{size}/113638_2.png"
},
"links": [
{
"url": "https://github.com/digitaldan/openhab-addons/blob/matter/bundles/org.openhab.binding.matter/README.md",
"title": null,
"internal": false,
"attachment": false,
"reflection": false,
"clicks": 75,
"user_id": 49,
"domain": "github.com",
"root_domain": "github.com"
},
{
"url": "https://github.com/digitaldan/openhab-addons/tree/matter/bundles/org.openhab.binding.matter",
"title": null,
"internal": false,
"attachment": false,
"reflection": false,
"clicks": 29,
"user_id": 49,
"domain": "github.com",
"root_domain": "github.com"
},
{
"url": "https://github.com/digitaldan/openhab-addons/blob/matter/bundles/org.openhab.binding.matter/README.md#IPv6-Requirements",
"title": null,
"internal": false,
"attachment": false,
"reflection": false,
"clicks": 22,
"user_id": 49,
"domain": "github.com",
"root_domain": "github.com"
},
{
"url": "https://github.com/openhab/openhab-core/pull/4528",
"title": "Fix config normalization in addon configuration by J-N-K · Pull Request #4528 · openhab/openhab-core · GitHub",
"internal": false,
"attachment": false,
"reflection": false,
"clicks": 22,
"user_id": 1194,
"domain": "github.com",
"root_domain": "github.com"
},
{
"url": "https://github.com/digitaldan/openhab-addons/releases/download/matter-v1/org.openhab.binding.matter-4.3.0-SNAPSHOT.jar",
"title": null,
"internal": false,
"attachment": false,
"reflection": false,
"clicks": 16,
"user_id": 49,
"domain": "github.com",
"root_domain": "github.com"
},
{
"url": "https://community.openhab.org/t/confirm-button/146490",
"title": "Confirm Button",
"internal": true,
"attachment": false,
"reflection": false,
"clicks": 13,
"user_id": 1472,
"domain": "community.openhab.org",
"root_domain": "openhab.org"
},
{
"url": "https://community.openhab.org/t/shelly-binding/56862/4235",
"title": "Shelly Binding",
"internal": true,
"attachment": false,
"reflection": false,
"clicks": 5,
"user_id": 42652,
"domain": "community.openhab.org",
"root_domain": "openhab.org"
},
{
"url": "https://github.com/Luligu/matterbridge-shelly",
"title": "GitHub - Luligu/matterbridge-shelly: Matterbridge shelly plugin",
"internal": false,
"attachment": false,
"reflection": false,
"clicks": 1,
"user_id": 42652,
"domain": "github.com",
"root_domain": "github.com"
},
{
"url": "https://github.com/openhab/openhab-core/blob/979e4a74098da8007cf888a9363dc66fcd1ab56b/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/PercentType.java#L114",
"title": "openhab-core/bundles/org.openhab.core/src/main/java/org/openhab/core/library/types/PercentType.java at 979e4a74098da8007cf888a9363dc66fcd1ab56b · openhab/openhab-core · GitHub",
"internal": false,
"attachment": false,
"reflection": false,
"clicks": 1,
"user_id": 1923,
"domain": "github.com",
"root_domain": "github.com"
},
{
"url": "https://community.openhab.org/t/incorporating-matter/127907/867",
"title": "Incorporating Matter",
"internal": true,
"attachment": false,
"reflection": true,
"clicks": 1,
"user_id": 49,
"domain": "community.openhab.org",
"root_domain": "openhab.org"
}
]
},
"bookmarks": []
}
I’m pretty sure that updated_at
for post 0
is when the first post was last updated.
I just don’t see that this is a desirable way to do it. It’s easier/cleaner to just come up with some convention for how versions must be specified, and then use that. Add-ons that don’t adhere to the version convention would still work, but wouldn’t be “upgradable”.
Edit: I had to “code fence” the links, because Discourse was a bit “too clever” and modified them so that you didn’t get the JSON version. So. they must now be “opened manually”.
Just to clarify what I mean with versioning, let’s say that it is decided that in the first post, a line must begin with:
Version: x.x.x
It’s easy to use regex to search the first post for this, and use the first (or last) entry found in the post. The x.x.x
value can then be parsed into a version that can be compared using the standard OSGI “version comparison rules” or a custom logic if that is desirable. So, to me this isn’t the hard part - it must just be decided how the syntax for specifying the version should look like.
Another example for how it could look:
version: 1.0.3
compatibility: [3.1.0..)
The “problem” is that OH installations will have to query the forum for this information periodically, which can be a “considerable load” on the forum. That’s why I’m talking about a need for a cache solution that queries the forum periodically, and then serves the results of this to all the OH installations without involving the forum. It could run let’s say every 15 minutes probably without causing too much load, since it would only be this one “cache solution” that did these queries, not all the OH installations.
https://community.openhab.org/c/marketplace/69/l/latest
Sorry I’ve only made it about half way through 44 posts so far but that address above is one of two RSS feeds discourse serves out of the box. Discourse itself uses these two RSS feeds to create the topic list.
It is trivial in Discourse to disallow replies in a topic within a category configured as such
EDIT:
topics with no replies requires a plugin
Features
This plugin adds a per-category setting allowing staff to restrict replies to the OP, and members of specific groups.
I think we could create tags in our Discourse instance that could then be used to filter topics.
Discourse has a awesome API that has end points for everything in the entire forum. It isn’t completely documented so sometimes you have to dig but every feature in Discourse has an end point.
From what I could see when I looked at it yesterday, the vast majority of the endpoints requires an API key and is as such out of reach in this context. But, there is already a lot of information in what can be retrieved by the two links I posted above, so I don’t think the lack of information is an issue here. The only thing I wanted to achieve, was the ability to retrieve just the first post without getting the full topic - but from what I could find, that isn’t “a thing”.
All API access requires a key but the Discourse admin can create keys with extremely granular permissions which could be used to prevent malicious use.
Yes, as stated, it is a typical RSS feed
I’m assuming some creative parsing can retrieve any desired output
But making a key for each and every OH installation is untenable. Beyond that it’s be a privacy issue as well.
I’ve done some “probing”, and one thing that is immediately clear: The ability to combine several versions of an add-on (with seperate compatibility constraints) will require some “structural changes”. I haven’t figured out exactly what that could look like yet, but basically, as the structure is today, it isn’t possible. One add-on has the following fields:
public static final Set<String> CODE_MATURITY_LEVELS = Set.of("alpha", "beta", "mature", "stable");
public static final String ADDON_SEPARATOR = "-";
private final String uid;
private final String id;
private final String label;
private final String version;
private final @Nullable String maturity;
private final boolean compatible;
private final String contentType;
private final @Nullable String link;
private final String author;
private final boolean verifiedAuthor;
private boolean installed;
private final String type;
private final @Nullable String description;
private final @Nullable String detailedDescription;
private final String configDescriptionURI;
private final String keywords;
private final List<String> countries;
private final @Nullable String license;
private final String connection;
private final @Nullable String backgroundColor;
private final @Nullable String imageLink;
private final Map<String, Object> properties;
private final List<String> loggerPackages;
Many are trivial to handle, but the uid
field is problematic, since today that’s based on the forum topic id. Also, compatible
is a simple boolean that applies to “the whole add-on”. So, even if all add-on variants were posted in one topic, it would have to end up being parsed as separate add-ons from Core’s POV, which would mean that they would all have to have individual, but reproducable (that will always resolve to the same UID) UIDs.
A second “problem” is that today, with one topic = one add-on version, OH can get all the information needed to present the add-on (name, compatibility, image) from parsing the list of topics - without parsing the content of the topics. To get the add-on version, and to support multiple versions in one topic, all the topics would have to be parsed to come up with the list of available add-ons. That means that a caching solution would be absolutely required, or the forum would get some serious overload.
I’d like to do some parse testing, is it OK if I create a Marketplace topic for a fictional add-on that is clearly marked as a test and isn’t published? I will ask a moderator to delete the topic when I’m done with my tests.
Yes, just place a testing hint in the label.
I did this also some time ago.
I haven’t come very far in my “probing”, but what I have done so far is to add support for specifying more details on the add-on level.
In my development OH installation, this add-on now shows up as this (never mind that “Provisioned With” is blank - it’s because I haven’t actually provided a “resource” yet):
As you can see from the test add-on, I’ve added more information that what is currently displayed, but changes are needed in MainUI to display this. Some of the existing add-on properties doesn’t seem to be in use (as far as I can tell, it’s hard to get a complete overview), like ‘keywords’ and license
. I’ve added them anyway, as it can’t hurt if that’s supported by the Marketplace if they gain some use in the future. The “logic” I’ve currently built doesn’t require that any property is specified, it only adds them if they are present.
The idea is that you can optionally specify a new code fenced section using addon
as the “language” (instead of yaml, json etc), and if this section exists, the key/value pairs that are found and are valid, are used. That means that it should not break existing add-ons without this information, it’s just a way to specify additional information. I’ve also made it so that this “addon section” is hidden from display when browsing add-ons from the OH Marketplace (it is obviously visible when browsing the forum).
There are loads and loads of things I’ve been thinking of that isn’t here yet - but I’d like so feedback to the approach/idea itself. Do you think this is a “viable way” of specifying this additional information?
How would that work with widgets/rule templates/block libraries where the resource can be inline instead of a link to the resource?
Over all it looks good to me. I don’t have any big ideas for improvement and such, though I would have expected your screen shot to show the latest version, 0.0.2. Is it suppoed to show the version that’s installed or the latest version posted?
I added the last (resource) section after the screenshot was made. The first section is “code fence tagged” with addon
and the second is “code fence tagged” with resource
(I can’t quite decide if it should be “resource” or “version” or maybe “instance”). The idea is that one add-on can have one addon
section and many of the other type.
As I said, there’s a lot I haven’t done yet. I just wanted a feedback on the “idea” itself for now. When it comes to inline resources, I have two ideas but I’m not sure which one to go with:
- Require that the inline code fence immediately follows the “resource/version/instance” section.
- Put the inline code inside the “resource/version/instance” section under a “key” like
content
for example.
“Logically” I think 2. makes most sense, but it introduces a couple of challenges. One challenge is that by doing it that way, Discourse won’t syntax highlight the code appropriately (as YAML or JSON). The second is that I would have to come up with some “block termination” logic that is “foolproof” and won’t “interfere” with the inline code itself.
These challenges might make 1. a better option, but I don’t know if it will be unintuitive for the users that these must follow in a specific order to “work”.
We already have to follow a tempalte so I don’t think following the inline fence with the resource would be that big of a deal so long as it’s made clear in the template that is shown when first creating the post.
Any views on if each add-on entry should be called “resource”, “version”, “instance” - or something else?
“Version” makes the most sense to me but that’s not a strong preference. “Resource” makes sense but it feels singular. I wouldn’t expect to see multiple “resources” on the same page. But that’s just me. “Instance” isn’t something that the average non-programmer would commonly use in this way.
“version” makes the most sense to me too, my only “issue” with it is that it is also the name of one of the fields that should be specified inside the block. That might or might not be “confusing”, but is the reason why I’m hesitant. If that’s just in my head, “version” is probably the best option