<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[adke.org]]></title><description><![CDATA[Welcome! Here you may find different projects of mine. Topics include linux, home automation, 3D-printing, 3D-scanning, photography, cooking and other miscellaneous stuff.]]></description><link>http://adke.org/</link><image><url>http://adke.org/favicon.png</url><title>adke.org</title><link>http://adke.org/</link></image><generator>Ghost 5.49</generator><lastBuildDate>Sat, 25 Apr 2026 06:49:09 GMT</lastBuildDate><atom:link href="http://adke.org/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[netbird on edge router X]]></title><description><![CDATA[<p>```<br>$ curl -L -O <a href="https://github.com/netbirdio/netbird/releases/download/v0.56.1/netbird_0.56.1_linux_mipsle_softfloat.tar.gz?ref=adke.org">https://github.com/netbirdio/netbird/releases/download/v0.56.1/netbird_0.56.1_linux_mipsle_softfloat.tar.gz</a><br>$ tar xf netbird_0.56.1_linux_mipsle_softfloat.tar.gz<br>$ sudo cp netbird /usr/bin/<br>$ sudo netbird service install<br>NetBird service has been installed<br>$ sudo netbird service</p>]]></description><link>http://adke.org/netbird-on-edge-router-x/</link><guid isPermaLink="false">68c3269ee4b1350001749bb5</guid><dc:creator><![CDATA[Ronny]]></dc:creator><pubDate>Sat, 13 Sep 2025 19:23:50 GMT</pubDate><content:encoded><![CDATA[<p>```<br>$ curl -L -O <a href="https://github.com/netbirdio/netbird/releases/download/v0.56.1/netbird_0.56.1_linux_mipsle_softfloat.tar.gz?ref=adke.org">https://github.com/netbirdio/netbird/releases/download/v0.56.1/netbird_0.56.1_linux_mipsle_softfloat.tar.gz</a><br>$ tar xf netbird_0.56.1_linux_mipsle_softfloat.tar.gz<br>$ sudo cp netbird /usr/bin/<br>$ sudo netbird service install<br>NetBird service has been installed<br>$ sudo netbird service start<br>NetBird service has been started<br>$ sudo netbird up --setup-key xyz<br>```</p>]]></content:encoded></item><item><title><![CDATA[nextube config with Linux]]></title><description><![CDATA[<p>Either use the nextube App with lutris, or:</p><p><code>513 &#xA0;export nextube=10.10.10.1<br>514 &#xA0;curl -d &apos;&apos; <a href="http://$nextube/api/ping?ref=adke.org">http://$nextube/api/ping</a><br>515 &#xA0;curl <a href="http://$nextube/api/firmwareVersion?ref=adke.org">http://$nextube/api/firmwareVersion</a><br>516 &#xA0;curl <a href="http://$nextube/api/hardwareVersion?ref=adke.org">http://$nextube/api/hardwareVersion</a><br>517 &#xA0;curl <a href="http://$nextube/?ref=adke.org">http://$nextube</a>&apos;/api/file/download?path=</code></p>]]></description><link>http://adke.org/nextube-config-with-linux/</link><guid isPermaLink="false">6425ac12df1efb0001564e37</guid><dc:creator><![CDATA[Ronny]]></dc:creator><pubDate>Thu, 30 Mar 2023 15:37:37 GMT</pubDate><content:encoded><![CDATA[<p>Either use the nextube App with lutris, or:</p><p><code>513 &#xA0;export nextube=10.10.10.1<br>514 &#xA0;curl -d &apos;&apos; <a href="http://$nextube/api/ping?ref=adke.org">http://$nextube/api/ping</a><br>515 &#xA0;curl <a href="http://$nextube/api/firmwareVersion?ref=adke.org">http://$nextube/api/firmwareVersion</a><br>516 &#xA0;curl <a href="http://$nextube/api/hardwareVersion?ref=adke.org">http://$nextube/api/hardwareVersion</a><br>517 &#xA0;curl <a href="http://$nextube/?ref=adke.org">http://$nextube</a>&apos;/api/file/download?path=/config.json&apos;&gt;nextube1.json<br>518 &#xA0;vi nextube1.json<br>520 &#xA0;curl <a href="http://$nextube/?ref=adke.org">http://$nextube</a>&apos;/api/file/df&apos;<br>523 &#xA0;vi nextube1.json<br>526 &#xA0;curl -F file=@nextube1.json <a href="http://$nextube/?ref=adke.org">http://$nextube</a>&apos;/api/file/upload?path=/config.json&apos;<br>527 &#xA0;curl -d &apos;&apos; <a href="http://$nextube/api/reset?ref=adke.org">http://$nextube/api/reset</a><br></code></p>]]></content:encoded></item><item><title><![CDATA[MagicMirror² install from scratch]]></title><description><![CDATA[<p>*write SD Card with Raspberry OS (not light) and preconfigure wifi+ssh+hostname+TZ)<br>*<code>$sudo raspi-config</code><br>*auto login, wait for network at boot, Screen Blanking, GL Driver<br>*<code>$bash -c &#xA0;&quot;$(curl -sL <a href="https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh?ref=adke.org">https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh</a>)&quot;</code><br>*<code>$sudo apt install libffi-dev nginx-full -y</code></p>]]></description><link>http://adke.org/magicmirror2-install-from-scratch/</link><guid isPermaLink="false">64219122df1efb0001564dd5</guid><dc:creator><![CDATA[Ronny]]></dc:creator><pubDate>Mon, 27 Mar 2023 13:07:12 GMT</pubDate><content:encoded><![CDATA[<p>*write SD Card with Raspberry OS (not light) and preconfigure wifi+ssh+hostname+TZ)<br>*<code>$sudo raspi-config</code><br>*auto login, wait for network at boot, Screen Blanking, GL Driver<br>*<code>$bash -c &#xA0;&quot;$(curl -sL <a href="https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh?ref=adke.org">https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh</a>)&quot;</code><br>*<code>$sudo apt install libffi-dev nginx-full -y</code><br><code>$python3 -m pip install --upgrade --no-cache-dir </code><br><code>$echo &apos;export PATH=&quot;$PATH:$HOME/.local/bin&quot;&apos; &gt;&gt; ~/.bashrc </code><br><code>$source ~/.bashrc</code><br><code>$mmpm mmpm --guided-setup </code><br>*e.g.</p><pre><code class="language-css">{
&quot;MMPM_MAGICMIRROR_ROOT&quot;: &quot;/home/pi/MagicMirror&quot;
&quot;MMPM_MAGICMIRROR_URI&quot;: &quot;http://172.16.X.X:8080/&quot;
&quot;MMPM_MAGICMIRROR_PM2_PROCESS_NAME&quot;: &quot;MagicMirror&quot;
&quot;MMPM_MAGICMIRROR_DOCKER_COMPOSE_FILE&quot;: &quot;.&quot;
&quot;MMPM_IS_DOCKER_IMAGE&quot;: false
}</code></pre><p><em>*<code>$sudo reboot</code></em><br>* rotate screen (config.txt &amp; lightdm.conf won&apos;t work) <br><code>$vi ~/MagicMirror/css/custom.css</code></p><pre><code class="language-css"> body {
        margin: 0;
	position: absolute;
 	transform: rotate(90deg);
 	transform-origin: bottom left;
	width: 100vh;
	height: 100vw;
	object-fit: cover;
	top: -100vw;
        visibility: visible;
 }
</code></pre>]]></content:encoded></item><item><title><![CDATA[Network Monitor with conky and audible error]]></title><description><![CDATA[<p></p><p>Just create a script, like this:</p><p><code>$cat ~/bin/pingtest.sh</code><br><code>!/bin/bash</code><br><code>rtt=$(ping -W 2 -c 1 $1 | grep rtt | gawk -F/ {&apos;print $6}&apos;)<br>if [[ -n &quot;$rtt&quot; ]] ; then<br>echo &apos;${color green}Up (&apos;$rtt&apos;ms)&apos;<br>else<br>echo &apos;${color red}&apos;&quot;</code></p>]]></description><link>http://adke.org/network-monitor-with-conky-and-audible-error/</link><guid isPermaLink="false">637522f0d2c7a7000125e984</guid><dc:creator><![CDATA[Ronny]]></dc:creator><pubDate>Mon, 18 Oct 2021 20:19:29 GMT</pubDate><content:encoded><![CDATA[<p></p><p>Just create a script, like this:</p><p><code>$cat ~/bin/pingtest.sh</code><br><code>!/bin/bash</code><br><code>rtt=$(ping -W 2 -c 1 $1 | grep rtt | gawk -F/ {&apos;print $6}&apos;)<br>if [[ -n &quot;$rtt&quot; ]] ; then<br>echo &apos;${color green}Up (&apos;$rtt&apos;ms)&apos;<br>else<br>echo &apos;${color red}&apos;&quot;Down&quot;<br>aplay /usr/share/sounds/freedesktop/stereo/network-connectivity-lost.oga<br>fi</code></p><p>make it executable with:</p><p><code>$chmod +x ~/bin/pingtest.sh</code></p><p>A conky file could look like this:</p><p><code>$cat conky.ttxt</code><br><code>alignment tr<br>gap_y 0<br>maximum_width 390<br>minimum_size 390<br>update_interval 30<br>use_xft yes<br>xftfont Bitstream Vera Sans Mono:size=8<br>xftalpha 0.8<br>update_interval 10<br>draw_shades no<br>TEXT<br>${alignc}${time %Y-%m-%d %H:%M:%S Uhr}</code><br><code>${color white}8.9.9.9${alignr}9.9.9.9<br>${execpi 10 ~/bin/pingtest.sh 8.9.9.9}${alignr}${execpi 10 ~/bin/pingtest.sh 9.9.9.9}<br>${color white}8.1.1.1${alignr}1.1.1.1<br>${execpi 10 ~/bin/pingtest.sh 8.1.1.1}${alignr}${execpi 10 ~/bin/pingtest.sh 1.1.1.1}</code></p><p>Run everything:</p><p><code>$conky -o -c conky.ttxt</code></p><p>Result:</p><figure class="kg-card kg-image-card"><img src="http://adke.org/content/images/2021/10/image.png" class="kg-image" alt loading="lazy" width="399" height="93"></figure>]]></content:encoded></item><item><title><![CDATA[+++++++[>+++++++<-]>.++.-.]]></title><description><![CDATA[<p>Brainfuck code to print 132 on the command line :-)</p>]]></description><link>http://adke.org/post/</link><guid isPermaLink="false">637522f0d2c7a7000125e983</guid><category><![CDATA[brainfuck]]></category><dc:creator><![CDATA[Ronny]]></dc:creator><pubDate>Wed, 10 Feb 2021 02:38:37 GMT</pubDate><content:encoded><![CDATA[<p>Brainfuck code to print 132 on the command line :-)</p>]]></content:encoded></item><item><title><![CDATA[fitting Snips into MyCroft Mark 1]]></title><description><![CDATA[<p>I am not really satisfied with the MyCroft software, however the hardware is neat and based on a raspberry pi. When I read about Snips digital voice assistant I wanted to test it and had a Mark 1 laying around. Just download a raspian and put it onto a SD</p>]]></description><link>http://adke.org/fitting-snips-into-mycroft-mark-1/</link><guid isPermaLink="false">637522f0d2c7a7000125e982</guid><category><![CDATA[snips]]></category><category><![CDATA[mycroft]]></category><category><![CDATA[RaspberryPi]]></category><category><![CDATA[raspbian]]></category><dc:creator><![CDATA[Ronny]]></dc:creator><pubDate>Tue, 21 May 2019 19:18:40 GMT</pubDate><content:encoded><![CDATA[<p>I am not really satisfied with the MyCroft software, however the hardware is neat and based on a raspberry pi. When I read about Snips digital voice assistant I wanted to test it and had a Mark 1 laying around. Just download a raspian and put it onto a SD card, which you replace the MyCroft one with. Actually installing Snips with:<br>npm install -g snips-sam<br>sam connect raspberrypi<br>sam init<br>sam install assistant -i proj_XXX</p><p>wasn&apos;t too hard. However the sound made me some headache. From the original SD card I could find out, that I had to modify /boot/config.txt and add:<br>dtparam=i2c_arm=on<br>dtparam=i2s=on<br>dtparam=spi=on<br>dtoverlay=pi3-disable-bt<br>dtoverlay=pi3-miniuart-bt<br>dtoverlay=rpi-proto</p><p>After reboot and enabling all audio outputs via alsamixer (a bit hidden), I was able to speak first time to snips. However in a ridiculous high pitch and too fast output. Playing around with sample rates in alsa didn&apos;t bring success, what worked was to switch to pulseaudio:<br>apt install pulseaudio<br> cat &lt;&lt; EOF &gt;&gt;/etc/systemd/system/pulseaudio.service<br>[Unit]<br>Description=PulseAudio system-wide server<br>#network only required for remote sinks<br>After=network-online.target<br>Wants=network-online.target<br> [Service]<br>Type=forking<br>PIDFile=/var/run/pulse/pid<br>ExecStart=/usr/bin/pulseaudio --daemonize --system --realtime --log-target=journal<br> ExecStop=/usr/bin/pulseaudio -k<br> [Install]<br> WantedBy=multi-user.target<br> EOF<br>systemctl --global disable pulseaudio.service pulseaudio.socket<br>systemctl enable --now pulseaudio<br>usermod -G pulse-access -a pi<br>usermod -G pulse-access -a _snips<br>systemctl restart snips-audio-server<br>cat &lt;&lt; EOF &gt;&gt; /etc/asound.conf<br>pcm.pulse {<br>type pulse<br>}<br>ctl.pulse {<br>type pulse<br>}<br>pcm.default pulse<br>ctl.default pulse<br>echo default-sample-rate = 44100 &gt;&gt; /etc/pulse/daemon.conf</p>]]></content:encoded></item><item><title><![CDATA[custom config in unifi security gateway]]></title><description><![CDATA[<p>ssh to USG and execute:</p><pre><code>mca-ctrl -t dump-cfg</code></pre><p>then find parts you want to change, in my case custom DNS entries (static IP mappings in GUI necessary) and a destiantion Nat f&#xFC;r all DNS queries, example:</p><pre><code>{
        &quot;system&quot;: {
                &quot;static-host-mapping&quot;: {
                        &quot;host-name&quot;: {
                                &quot;hostA.local&</code></pre>]]></description><link>http://adke.org/custom-config-in-unifi-security-gateway/</link><guid isPermaLink="false">637522f0d2c7a7000125e981</guid><category><![CDATA[unifi]]></category><category><![CDATA[ArchLinux]]></category><category><![CDATA[dns]]></category><category><![CDATA[firewall]]></category><dc:creator><![CDATA[Ronny]]></dc:creator><pubDate>Sat, 19 Jan 2019 11:05:47 GMT</pubDate><content:encoded><![CDATA[<p>ssh to USG and execute:</p><pre><code>mca-ctrl -t dump-cfg</code></pre><p>then find parts you want to change, in my case custom DNS entries (static IP mappings in GUI necessary) and a destiantion Nat f&#xFC;r all DNS queries, example:</p><pre><code>{
        &quot;system&quot;: {
                &quot;static-host-mapping&quot;: {
                        &quot;host-name&quot;: {
                                &quot;hostA.local&quot;: {
                                        &quot;alias&quot;: [
                                                &quot;hostA&quot;
                                        ],
                                        &quot;inet&quot;: [
                                                &quot;192.168.32.64&quot;
                                        ]
                                },
                                &quot;hostB.local&quot;: {
                                        &quot;alias&quot;: [
                                                &quot;hostA.local&quot;
                                        ],
                                        &quot;inet&quot;: [
                                                &quot;192.168.32.66&quot;
                                        ]
                                }

                        }
                }
        },
         &quot;service&quot;: {
                &quot;nat&quot;: {
                        &quot;rule&quot;: {
                                &quot;76&quot;: {
                                        &quot;description&quot;: &quot;DNS catch for vlan 76&quot;,
                                        &quot;destination&quot;: {
                                                &quot;port&quot;: &quot;53&quot;
                                        },
                                        &quot;inbound-interface&quot;: &quot;eth1.76&quot;,
                                        &quot;inside-address&quot;: {
                                                &quot;address&quot;: &quot;192.168.32.1&quot;
                                        },
                                        &quot;log&quot;: &quot;enable&quot;,
                                        &quot;protocol&quot;: &quot;tcp_udp&quot;,
                                        &quot;type&quot;: &quot;destination&quot;
                                }
                         }
                }
        }
}</code></pre><p>Place this file under /var/lib/unifi/data/sites/default/config.gateway.json on the controller and provision USG via GUI.<br>You can check success by issuing: ```show nat translations``` on your USG. You will see a lot of entries from Google Home devices, as they ignore the DNS provided from DHCP. Next step would be to use DNS over TLS. To be continued...</p>]]></content:encoded></item><item><title><![CDATA[Migrate from Wordpress to Ghost]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h1 id="setupdocker">Setup docker:</h1>
<pre><code>#pacman -S docker
#systemctl enable --now docker
#docker run -d --name ghost -p 2368:2368 -v /.../ghost:/var/lib/ghost/content ghost:1-alpine
</code></pre>
<h1 id="setupnginx">Setup nginx:</h1>
<pre><code>#cat /etc/nginx/nginx/sites-enabled/default
...
location / {
               proxy_set_header   X-Real-IP $remote_addr;
               proxy_set_header   Host      $http_host;
               proxy_pass         http://127.</code></pre>]]></description><link>http://adke.org/migrate-from-wordpress-to-ghost/</link><guid isPermaLink="false">637522f0d2c7a7000125e97e</guid><category><![CDATA[Wordpress]]></category><category><![CDATA[Ghost]]></category><category><![CDATA[Docker]]></category><category><![CDATA[ArchLinux]]></category><category><![CDATA[nginx]]></category><dc:creator><![CDATA[Ronny]]></dc:creator><pubDate>Mon, 10 Dec 2018 22:59:25 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h1 id="setupdocker">Setup docker:</h1>
<pre><code>#pacman -S docker
#systemctl enable --now docker
#docker run -d --name ghost -p 2368:2368 -v /.../ghost:/var/lib/ghost/content ghost:1-alpine
</code></pre>
<h1 id="setupnginx">Setup nginx:</h1>
<pre><code>#cat /etc/nginx/nginx/sites-enabled/default
...
location / {
               proxy_set_header   X-Real-IP $remote_addr;
               proxy_set_header   Host      $http_host;
               proxy_pass         http://127.0.0.1:2368;
}
...
</code></pre>
<h1 id="configureghostforpublicsite">Configure ghost for public site:</h1>
<pre><code>#docker exec -it ghost /bin/sh
#vi config.production.json
</code></pre>
<h1 id="getwordpressexport">get Wordpress export</h1>
<ul>
<li>install wp2ghost plugin and download json file</li>
<li>goto <a href="https://example.org/ghost?ref=adke.org">https://example.org/ghost</a> and under settings lab import json file</li>
</ul>
<h1 id="upgradetolatestghost">upgrade to latest ghost</h1>
<pre><code>#docker stop ghost
#docker rm ghost
#docker rmi ghost:1-alpine
#docker run -d --name ghost -p 2368:2368 -v /.../ghost:/var/lib/ghost/content ghost
</code></pre>
<h1 id="convertpictures">convert pictures</h1>
<pre><code>#cp /.../wp-content/uploads/* /.../ghost/data/content/images
# docker stop ghost
#cp ghost.db ghst.db.bkp
# sqlite3 ghost.db
sqlite&gt; .output changeme.sql
sqlite&gt; .dump
sqlite&gt; .exit
# /.../ghost/data # sed &apos;s|wp-content/uploads|content/images|g&apos; -i changeme.sql                                                                                                                                       :(
# /.../ghost/data # vi changeme.sql
# /.../ghost/data # sqlite3 g.db &lt; changeme.sql

# cp g.db ghost.db
# docker start ghost
</code></pre>
<h1 id="resizepicsdosntworkyet">resize pics (dosn&apos;t work yet)</h1>
<pre><code>find . -type f -size +512k -name \*.jpg -print0 | xargs -0 mogrify -size 800
</code></pre>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[sandstorm.io custom spk]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h1 id="forwindowsinstall">For Windows install:</h1>
<ul>
<li>install vagrant <a href="vagrantup.com">official Vagrant website</a></li>
<li>install virtualbox <a href="https://www.virtualbox.org/wiki/Downloads?ref=adke.org">click</a></li>
<li>install vagrant-spk <a href="https://github.com/sandstorm-io/vagrant-spk/releases?ref=adke.org">vagrant-spk releases list</a></li>
</ul>
<h1 id="setupenvironment">Setup Environment:</h1>
<ul>
<li>vagrant-spk setupvm uswgi</li>
<li>vi .sandstorm/setup.sh</li>
<li>vagrant-spk vm up</li>
<li>if vi .sandstorm/setup.sh again
<ul>
<li>vagrant-spk vm provision</li>
</ul>
</li>
<li>vagrant-spk init</li>
<li>vi .sandstorm/sandstorm-pkgdef.capnp</li>
<li>vi .sandstorm/launcher.sh</li>
<li>vagrant-spk dev</li>
<li>open</li></ul>]]></description><link>http://adke.org/sandcats-io-custom-spk/</link><guid isPermaLink="false">637522f0d2c7a7000125e97f</guid><category><![CDATA[windows]]></category><category><![CDATA[sandstorm.io]]></category><category><![CDATA[vagrant]]></category><category><![CDATA[Docker]]></category><dc:creator><![CDATA[Ronny]]></dc:creator><pubDate>Wed, 28 Nov 2018 21:57:00 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h1 id="forwindowsinstall">For Windows install:</h1>
<ul>
<li>install vagrant <a href="vagrantup.com">official Vagrant website</a></li>
<li>install virtualbox <a href="https://www.virtualbox.org/wiki/Downloads?ref=adke.org">click</a></li>
<li>install vagrant-spk <a href="https://github.com/sandstorm-io/vagrant-spk/releases?ref=adke.org">vagrant-spk releases list</a></li>
</ul>
<h1 id="setupenvironment">Setup Environment:</h1>
<ul>
<li>vagrant-spk setupvm uswgi</li>
<li>vi .sandstorm/setup.sh</li>
<li>vagrant-spk vm up</li>
<li>if vi .sandstorm/setup.sh again
<ul>
<li>vagrant-spk vm provision</li>
</ul>
</li>
<li>vagrant-spk init</li>
<li>vi .sandstorm/sandstorm-pkgdef.capnp</li>
<li>vi .sandstorm/launcher.sh</li>
<li>vagrant-spk dev</li>
<li>open <a href="http://local.sandstorm.io:6080/?ref=adke.org">http://local.sandstorm.io:6080/</a></li>
</ul>
<h1 id="debug">debug:</h1>
<ul>
<li>vagrant-spk vm ssh</li>
<li>vagrant-spk enter-grain</li>
</ul>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[sandstorm.io with airgap]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h1 id="installation">installation</h1>
<ul>
<li>wildcard DNS entry</li>
<li>download latest: <a href="https://dl.sandstorm.io/sandstorm-?ref=adke.org">https://dl.sandstorm.io/sandstorm-</a><version>.tar.gz</version></li>
<li>download <a href="https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/install.sh?ref=adke.org">https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/install.sh</a></li>
<li>bash install.sh sandstorm-<version>.tar.gz</version></li>
<li>setup nginx for (wildcard-)ssl with certbot and point to 6080</li>
</ul>
<h1 id="appinstallationappmarket">app installation (AppMarket)</h1>
<p>TODO</p>
<!--kg-card-end: markdown-->]]></description><link>http://adke.org/sandstorm-io-with-airgap/</link><guid isPermaLink="false">637522f0d2c7a7000125e980</guid><category><![CDATA[sandstorm.io]]></category><category><![CDATA[nginx]]></category><dc:creator><![CDATA[Ronny]]></dc:creator><pubDate>Tue, 27 Nov 2018 22:08:00 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h1 id="installation">installation</h1>
<ul>
<li>wildcard DNS entry</li>
<li>download latest: <a href="https://dl.sandstorm.io/sandstorm-?ref=adke.org">https://dl.sandstorm.io/sandstorm-</a><version>.tar.gz</version></li>
<li>download <a href="https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/install.sh?ref=adke.org">https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/install.sh</a></li>
<li>bash install.sh sandstorm-<version>.tar.gz</version></li>
<li>setup nginx for (wildcard-)ssl with certbot and point to 6080</li>
</ul>
<h1 id="appinstallationappmarket">app installation (AppMarket)</h1>
<p>TODO</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[openhab 2 debugging]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p><code>#/opt/openhab2/runtime/bin/client  </code></p>
<pre><code>openhab&gt; log:set default openhab.binding.zwave  
openhab&gt; log:tail zwave
</code></pre>
<!--kg-card-end: markdown-->]]></description><link>http://adke.org/openhab-2-debugging/</link><guid isPermaLink="false">637522f0d2c7a7000125e97d</guid><category><![CDATA[openhab]]></category><dc:creator><![CDATA[ronny]]></dc:creator><pubDate>Wed, 31 Oct 2018 21:02:55 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p><code>#/opt/openhab2/runtime/bin/client  </code></p>
<pre><code>openhab&gt; log:set default openhab.binding.zwave  
openhab&gt; log:tail zwave
</code></pre>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[docker for homegear]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>Ok, so I am using homegear &#x2013; they changed their policy, so source code for some parts are not available. As they are newly able to control nanoleaf, I desperatly needed to update it.</p>
<p>However, the former free part of enocean is not available anymore&#x2026;</p>
<p>As only precompiled packages</p>]]></description><link>http://adke.org/docker/</link><guid isPermaLink="false">637522f0d2c7a7000125e97c</guid><category><![CDATA[ArchLinux]]></category><category><![CDATA[Docker]]></category><category><![CDATA[enocean]]></category><category><![CDATA[homegear]]></category><category><![CDATA[nanoleaf]]></category><category><![CDATA[openhab]]></category><dc:creator><![CDATA[ronny]]></dc:creator><pubDate>Wed, 05 Sep 2018 00:22:08 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p>Ok, so I am using homegear &#x2013; they changed their policy, so source code for some parts are not available. As they are newly able to control nanoleaf, I desperatly needed to update it.</p>
<p>However, the former free part of enocean is not available anymore&#x2026;</p>
<p>As only precompiled packages are available, I decided to use the provided docker Image.</p>
<pre><code> #pacman -S docker 
 #sytemctl start docker 
 #sytemctl enable docker
</code></pre>
<p>I downloaded the homegear docker image, however it was missing nanoleaf ofc&#x2026;</p>
<p>Put config files into :&#xA0;/homegear-data</p>
<pre><code> # ls /homegear-data/*
 /homegear-data/etc:
 devices families homegear.csr homegear-start.sh main.conf mqtt.conf rpcclients.conf dh1024.pem homegear.crt homegear.key homegear-stop.sh main.conf.pacnew php.ini rpcservers.conf
 
 /homegear-data/lib: 
 admin-ui db.sql.bak0 db.sql.bak2 db.sql.bak4 db.sql.bak6 db.sql.bak8 db.sql-shm flows node-blue tmp db.sql db.sql.bak1 db.sql.bak3 db.sql.bak5 db.sql.bak7 db.sql.bak9 db.sql-wal modules scripts ui 
 
 /homegear-data/log: 
 homegear.err homegear.log homegear-scriptengine.err homegear-scriptengine.log 
 
 #cd 
 #git clone https://github.com/Homegear/Homegear-Docker/ nightly 
 #cd nightly 
 #vi installNightly.sh 
 installNightly.sh:
 downloadModule homegear-nanoleaf_current_${system}_${arch}.deb 
 installNightly.sh:
 installModule homegear-nanoleaf_current_${system}_${arch}.deb 
 #./buildImage.sh 
 #docker run -d --restart unless-stopped -v /homegear-data/etc:/etc/homegear:Z -v /homegear-data/lib:/var/lib/home gear:Z -v /homegear-data/log:/var/log/homegear:Z -e HOMEGEARUSER=root -e HOMEGEARGROUP=root -p 2001:2001 -p 2002:2002 -p 2003:2003 --device=/dev/ttyUSB300 --name homegear homegear/homegear:nightly 
 #docker exec -it homegear homegear -r add nanoleaf 
 #docker update --restart always homegear 
 #docker exec -it homegear homegear -e rc &apos;print_v($hg-&gt;getValue(19,1,BRIGHTNESS));&apos;

</code></pre>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[no GU10 compatible Z-Wave lamps?]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>Well I had these wall lamps with a GU10 socket, that I wanted to dim/change color</p>
<p>Unfortunatly there are no Z-Wave compatible lamps out there. So I bought some Gu10-E27 Adapters on Amayon. Story End? -No.</p>
<p>Ofc those Adapters are very high, so the bulb wouldn&#x2019;t fit</p>]]></description><link>http://adke.org/no-gu10-compatible-z-wave-lamps/</link><guid isPermaLink="false">637522f0d2c7a7000125e97b</guid><category><![CDATA[Electronics]]></category><category><![CDATA[Gu10]]></category><category><![CDATA[lamps]]></category><category><![CDATA[Z-Wave]]></category><dc:creator><![CDATA[ronny]]></dc:creator><pubDate>Wed, 04 Jul 2018 23:54:16 GMT</pubDate><media:content url="http://adke.org/content/images/2018/08/IMG_20180319_001743741_LL.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="http://adke.org/content/images/2018/08/IMG_20180319_001743741_LL.jpg" alt="no GU10 compatible Z-Wave lamps?"><p>Well I had these wall lamps with a GU10 socket, that I wanted to dim/change color</p>
<p>Unfortunatly there are no Z-Wave compatible lamps out there. So I bought some Gu10-E27 Adapters on Amayon. Story End? -No.</p>
<p>Ofc those Adapters are very high, so the bulb wouldn&#x2019;t fit anymore inside of the lamp. From now on it is an image story:</p>
<p><a href="http://adke.org/content/images/2018/08/IMG_20180319_001743741_LL.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_001743741_LL.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_001825237.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_001825237.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_001855747.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_001855747.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_002106077_LL.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_002106077_LL.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_002125682.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_002125682.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_002242027.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_002242027.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_002316844.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_002316844.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_002533616_LL.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_002533616_LL.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_002553903.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_002553903.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_002750223.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_002750223.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_003554386_LL.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_003554386_LL.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_003601547.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_003601547.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_003653312_LL.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_003653312_LL.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_003824815.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_003824815.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a> <a href="http://adke.org/content/images/2018/08/IMG_20180319_004000596_LL.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180319_004000596_LL.jpg" alt="no GU10 compatible Z-Wave lamps?" loading="lazy"></a></p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Make a PIR Movement Detector 3.3V compatible]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>This PIR movement detector runs on 4.5V-20V unfortunately I had only 3.3V available from the esp32</p>
<p>The cool thing is, it has a voltage regulator and a diode (that eats some volts) on board, that converts this 4.5-20V to a 3V voltage, so just remove it and</p>]]></description><link>http://adke.org/make-a-pir-movement-detector-3-3v-compatible/</link><guid isPermaLink="false">637522f0d2c7a7000125e97a</guid><category><![CDATA[Electronics]]></category><category><![CDATA[PIR]]></category><dc:creator><![CDATA[ronny]]></dc:creator><pubDate>Mon, 04 Jun 2018 23:48:00 GMT</pubDate><media:content url="http://adke.org/content/images/2018/08/IMG_20180320_165110986.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="http://adke.org/content/images/2018/08/IMG_20180320_165110986.jpg" alt="Make a PIR Movement Detector 3.3V compatible"><p>This PIR movement detector runs on 4.5V-20V unfortunately I had only 3.3V available from the esp32</p>
<p>The cool thing is, it has a voltage regulator and a diode (that eats some volts) on board, that converts this 4.5-20V to a 3V voltage, so just remove it and use 3V Vcc &#x1F642;</p>
<p><a href="http://adke.org/content/images/2018/08/IMG_20180320_165110986.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180320_165110986.jpg" alt="Make a PIR Movement Detector 3.3V compatible" loading="lazy"></a>&#xA0;<a href="http://adke.org/content/images/2018/08/IMG_20180320_165144104.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180320_165144104.jpg" alt="Make a PIR Movement Detector 3.3V compatible" loading="lazy"><br>
</a></p>
<p>And replace with lead:</p>
<p></p>
<p><a href="http://adke.org/content/images/2018/08/IMG_20180320_165625297.jpg"><img src="http://adke.org/content/images/2018/08/IMG_20180320_165625297.jpg" alt="Make a PIR Movement Detector 3.3V compatible" loading="lazy"></a></p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Linux Security Assessment]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h1 id="openscap">openSCAP</h1>
<p><code># oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_common --report /tmp/report.html /usr/share/xml/scap/ssg/content/ssg-fedora-ds.xml</code></p>
<h1 id="archaudit">arch-audit</h1>
<p><code># arch-audit</code></p>
<!--kg-card-end: markdown-->]]></description><link>http://adke.org/linux-security-assessment/</link><guid isPermaLink="false">637522f0d2c7a7000125e979</guid><category><![CDATA[ArchLinux]]></category><category><![CDATA[Security]]></category><dc:creator><![CDATA[ronny]]></dc:creator><pubDate>Thu, 24 May 2018 19:25:08 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h1 id="openscap">openSCAP</h1>
<p><code># oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_common --report /tmp/report.html /usr/share/xml/scap/ssg/content/ssg-fedora-ds.xml</code></p>
<h1 id="archaudit">arch-audit</h1>
<p><code># arch-audit</code></p>
<!--kg-card-end: markdown-->]]></content:encoded></item></channel></rss>