This commit is contained in:
Roslund
2025-02-16 19:11:29 +00:00
commit dc753c49d1
74 changed files with 1974 additions and 0 deletions
View File
+5
View File
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 KiB

File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on STHLM-MESH</title><link>https://sthlm-mesh.se/categories/</link><description>Recent content in Categories on STHLM-MESH</description><generator>Hugo -- gohugo.io</generator><language>sv</language><atom:link href="https://sthlm-mesh.se/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
+4
View File
@@ -0,0 +1,4 @@
/* PrismJS 1.28.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+c+csharp+cpp+go+java+markdown+python+scss+sql+toml+yaml&plugins=toolbar+copy-to-clipboard */
code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:rgba(224,224,224,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:.5em}div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover{color:inherit;text-decoration:none}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Device Role on STHLM-MESH</title><link>https://sthlm-mesh.se/docs/device_role/</link><description>Recent content in Device Role on STHLM-MESH</description><generator>Hugo -- gohugo.io</generator><language>sv</language><atom:link href="https://sthlm-mesh.se/docs/device_role/index.xml" rel="self" type="application/rss+xml"/><item><title>CLIENT MUTE</title><link>https://sthlm-mesh.se/docs/device_role/client_mute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sthlm-mesh.se/docs/device_role/client_mute/</guid><description>Portabla noder och noder man har innomhus bör primärt vara CLIENT MUTE.</description></item><item><title>CLIENT</title><link>https://sthlm-mesh.se/docs/device_role/client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sthlm-mesh.se/docs/device_role/client/</guid><description>Noder på ballkonger och villahustak bör vara satt till CLIENT</description></item><item><title>ROUTER</title><link>https://sthlm-mesh.se/docs/device_role/router/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sthlm-mesh.se/docs/device_role/router/</guid><description>Använd inte ROUTER eller REPEATER.</description></item></channel></rss>
File diff suppressed because one or more lines are too long
+9
View File
File diff suppressed because one or more lines are too long
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Documentation on STHLM-MESH</title><link>https://sthlm-mesh.se/docs/</link><description>Recent content in Documentation on STHLM-MESH</description><generator>Hugo -- gohugo.io</generator><language>sv</language><atom:link href="https://sthlm-mesh.se/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>MQTT</title><link>https://sthlm-mesh.se/docs/mqtt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sthlm-mesh.se/docs/mqtt/</guid><description>MQTT (Message Queuing Telemetry Transport) är ett protokoll för meddelandeöverföring som är vanligt att använa för IoT kommunikation. Det är designat för att vara effektivt, även i nätverk med låg bandbredd eller hög latens.
Vi använder MQTT för att kunna analysera meshet. Detta gör vi genom att enbart ha uplink igång. På så sätt kan man tillhandahålla information om meshet som går att analysera med andra verktyg.
Meshtastic har stöd för att använda MQTT för att brygga olika mesh-nätverk.</description></item><item><title>Neighbor Info</title><link>https://sthlm-mesh.se/docs/neighbor_info/</link><pubDate>Sat, 15 Feb 2025 00:00:00 +0000</pubDate><guid>https://sthlm-mesh.se/docs/neighbor_info/</guid><description>Neighbor Info modulen samlar infomration om en nods grannar den har direktkontakt med (0-hopp). Denna information kan sedan skickas över MQTT eller LoRa.
Informationen kan sedan visualiseras på karttjänster. Neighbour Info konfiguration neighbor_info: neighbor_info.enabled: True neighbor_info.transmit_over_lora: True neighbor_info.update_interval: 43200</description></item></channel></rss>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 755 KiB

+3
View File
@@ -0,0 +1,3 @@
<link rel="icon" href="/iconx/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/iconx/apple-touch-icon.png"/>
<link rel="manifest" href="/iconx/manifest.json" />
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

+24
View File
File diff suppressed because one or more lines are too long
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>STHLM-MESH</title><link>https://sthlm-mesh.se/</link><description>Recent content on STHLM-MESH</description><generator>Hugo -- gohugo.io</generator><language>sv</language><atom:link href="https://sthlm-mesh.se/index.xml" rel="self" type="application/rss+xml"/><item><title>CLIENT MUTE</title><link>https://sthlm-mesh.se/docs/device_role/client_mute/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sthlm-mesh.se/docs/device_role/client_mute/</guid><description>Portabla noder och noder man har innomhus bör primärt vara CLIENT MUTE.</description></item><item><title>CLIENT</title><link>https://sthlm-mesh.se/docs/device_role/client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sthlm-mesh.se/docs/device_role/client/</guid><description>Noder på ballkonger och villahustak bör vara satt till CLIENT</description></item><item><title>ROUTER</title><link>https://sthlm-mesh.se/docs/device_role/router/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sthlm-mesh.se/docs/device_role/router/</guid><description>Använd inte ROUTER eller REPEATER.</description></item><item><title>MQTT</title><link>https://sthlm-mesh.se/docs/mqtt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sthlm-mesh.se/docs/mqtt/</guid><description>MQTT (Message Queuing Telemetry Transport) är ett protokoll för meddelandeöverföring som är vanligt att använa för IoT kommunikation. Det är designat för att vara effektivt, även i nätverk med låg bandbredd eller hög latens.
Vi använder MQTT för att kunna analysera meshet. Detta gör vi genom att enbart ha uplink igång. På så sätt kan man tillhandahålla information om meshet som går att analysera med andra verktyg.
Meshtastic har stöd för att använda MQTT för att brygga olika mesh-nätverk.</description></item><item><title>Neighbor Info</title><link>https://sthlm-mesh.se/docs/neighbor_info/</link><pubDate>Sat, 15 Feb 2025 00:00:00 +0000</pubDate><guid>https://sthlm-mesh.se/docs/neighbor_info/</guid><description>Neighbor Info modulen samlar infomration om en nods grannar den har direktkontakt med (0-hopp). Denna information kan sedan skickas över MQTT eller LoRa.
Informationen kan sedan visualiseras på karttjänster. Neighbour Info konfiguration neighbor_info: neighbor_info.enabled: True neighbor_info.transmit_over_lora: True neighbor_info.update_interval: 43200</description></item><item><title>Meetups</title><link>https://sthlm-mesh.se/meetups/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sthlm-mesh.se/meetups/</guid><description> About Goldydocs A sample site using the Docsy Hugo theme. Kommande Meetups Just nu känner vi inte till några plannerade meetups. Säg till om du plannerar något så kan vi informera om det här.
Tidigare meetups: Datum: 2024-09-04 Tid: 17:00 - 22:00 Plats: The Bishops Arms, Sundbyberg Event: Facebook Datum: 2024-05-05 Tid: 17:00 Plats: Takpark by Urban Deli, Sveavägen 44</description></item></channel></rss>
@@ -0,0 +1,2 @@
let codeListings=document.querySelectorAll(".highlight > pre");for(let t=0;t<codeListings.length;t++){const s=codeListings[t].querySelector("code"),e=document.createElement("button"),o={type:"button",title:"Copy to clipboard","data-bs-toggle":"tooltip","data-bs-placement":"top","data-bs-container":"body"};Object.keys(o).forEach(t=>{e.setAttribute(t,o[t])}),e.classList.add("fas","fa-copy","btn","btn-sm","td-click-to-copy");const i=new bootstrap.Tooltip(e);e.onclick=()=>{copyCode(s),e.setAttribute("data-bs-original-title","Copied!"),i.show()},e.onmouseout=()=>{e.setAttribute("data-bs-original-title","Copy to clipboard"),i.hide()};const n=document.createElement("div");n.classList.add("click-to-copy"),n.append(e),codeListings[t].insertBefore(n,s)}const copyCode=e=>{navigator.clipboard.writeText(e.textContent.trim()+`
`)}
+1652
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+21
View File
File diff suppressed because one or more lines are too long
+116
View File
@@ -0,0 +1,116 @@
// Storage key names and data attribute name:
const td_persistStorageKeyNameBase = 'td-tp-persist';
const td_persistCounterStorageKeyName = `${td_persistStorageKeyNameBase}-count`;
const td_persistDataAttrName = `data-${td_persistStorageKeyNameBase}`;
// Utilities
const _tdPersistCssSelector = (attrValue) =>
attrValue
? `[${td_persistDataAttrName}="${attrValue}"]`
: `[${td_persistDataAttrName}]`;
const _tdStoragePersistKey = (tabKey) =>
td_persistStorageKeyNameBase + ':' + (tabKey || '');
const _tdSupportsLocalStorage = () => typeof Storage !== 'undefined';
// Helpers
function tdPersistKey(key, value) {
// @requires: tdSupportsLocalStorage();
try {
if (value) {
localStorage.setItem(key, value);
} else {
localStorage.removeItem(key);
}
} catch (error) {
const action = value ? 'add' : 'remove';
console.error(
`Docsy tabpane: unable to ${action} localStorage key '${key}': `,
error
);
}
}
// Retrieve, increment, and store tab-select event count, then returns it.
function tdGetTabSelectEventCountAndInc() {
// @requires: tdSupportsLocalStorage();
const storedCount = localStorage.getItem(td_persistCounterStorageKeyName);
let numTabSelectEvents = parseInt(storedCount) || 0;
numTabSelectEvents++;
tdPersistKey(td_persistCounterStorageKeyName, numTabSelectEvents.toString());
return numTabSelectEvents;
}
// Main functions
function tdActivateTabsWithKey(key) {
if (!key) return;
document.querySelectorAll(_tdPersistCssSelector(key)).forEach((element) => {
new bootstrap.Tab(element).show();
});
}
function tdPersistActiveTab(activeTabKey) {
if (!_tdSupportsLocalStorage()) return;
tdPersistKey(
_tdStoragePersistKey(activeTabKey),
tdGetTabSelectEventCountAndInc()
);
tdActivateTabsWithKey(activeTabKey);
}
// Handlers
function tdGetAndActivatePersistedTabs(tabs) {
// Get unique persistence keys of tabs in this page
var keyOfTabsInThisPage = [
...new Set(
Array.from(tabs).map((el) => el.getAttribute(td_persistDataAttrName))
),
];
// Create a list of active tabs with their age:
let key_ageList = keyOfTabsInThisPage
// Map to [tab-key, last-activated-age]
.map((k) => [
k,
parseInt(localStorage.getItem(_tdStoragePersistKey(k))) || 0,
])
// Exclude tabs that have never been activated
.filter(([k, v]) => v)
// Sort from oldest selected to most recently selected
.sort((a, b) => a[1] - b[1]);
// Activate tabs from the oldest to the newest
key_ageList.forEach(([key]) => {
tdActivateTabsWithKey(key);
});
return key_ageList;
}
function tdRegisterTabClickHandler(tabs) {
tabs.forEach((tab) => {
tab.addEventListener('click', () => {
const activeTabKey = tab.getAttribute(td_persistDataAttrName);
tdPersistActiveTab(activeTabKey);
});
});
}
// Register listeners and activate tabs
window.addEventListener('DOMContentLoaded', () => {
if (!_tdSupportsLocalStorage()) return;
var allTabsInThisPage = document.querySelectorAll(_tdPersistCssSelector());
tdRegisterTabClickHandler(allTabsInThisPage);
tdGetAndActivatePersistedTabs(allTabsInThisPage);
});
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 KiB

File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
User-agent: *
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://sthlm-mesh.se/docs/device_role/client_mute/</loc><lastmod>2025-02-16T18:01:33+01:00</lastmod></url><url><loc>https://sthlm-mesh.se/docs/device_role/client/</loc><lastmod>2025-02-16T18:01:33+01:00</lastmod></url><url><loc>https://sthlm-mesh.se/docs/device_role/</loc><lastmod>2025-02-16T19:35:28+01:00</lastmod></url><url><loc>https://sthlm-mesh.se/docs/device_role/router/</loc><lastmod>2025-02-16T18:01:33+01:00</lastmod></url><url><loc>https://sthlm-mesh.se/docs/mqtt/</loc><lastmod>2025-02-16T19:35:28+01:00</lastmod></url><url><loc>https://sthlm-mesh.se/docs/neighbor_info/</loc><lastmod>2025-02-16T19:35:28+01:00</lastmod></url><url><loc>https://sthlm-mesh.se/categories/</loc></url><url><loc>https://sthlm-mesh.se/docs/</loc><lastmod>2025-02-16T18:01:33+01:00</lastmod></url><url><loc>https://sthlm-mesh.se/meetups/</loc><lastmod>2025-02-16T18:01:33+01:00</lastmod></url><url><loc>https://sthlm-mesh.se/</loc><lastmod>2025-02-16T18:01:33+01:00</lastmod></url><url><loc>https://sthlm-mesh.se/tags/</loc></url></urlset>
+5
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tags on STHLM-MESH</title><link>https://sthlm-mesh.se/tags/</link><description>Recent content in Tags on STHLM-MESH</description><generator>Hugo -- gohugo.io</generator><language>sv</language><atom:link href="https://sthlm-mesh.se/tags/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.