<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
    <title>Rainer&#x27;s Blogseiten</title>
    <subtitle>XMPP · Heimautomation · Elektronik · Solar</subtitle>
    <link rel="self" type="application/atom+xml" href="https://blog.dohdom.de/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://blog.dohdom.de"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-05-19T00:00:00+00:00</updated>
    <id>https://blog.dohdom.de/atom.xml</id>
    <entry xml:lang="de">
        <title>Monocles Chat 2.x</title>
        <published>2026-05-19T00:00:00+00:00</published>
        <updated>2026-05-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/monocles20/"/>
        <id>https://blog.dohdom.de/xmpp/monocles20/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/monocles20/">&lt;blockquote class=&quot;markdown-alert-tip&quot;&gt;
&lt;p&gt;Auf meinem PeerTube (Technik)Kanal werden im Laufe der Zeit Kurzvideos mit Tipps zu Monocles Chat
erscheinen. Diesen findet man unter &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;clip.place&#x2F;c&#x2F;dora71_channel&#x2F;videos&quot;&gt;https:&#x2F;&#x2F;clip.place&#x2F;c&#x2F;dora71_channel&#x2F;videos&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote class=&quot;markdown-alert-warning&quot;&gt;
&lt;p&gt;Da die Entwicklung von Monocles Chat zur Zeit rasant voranschreitet, kann es passieren,
dass die nachfolgenden Kniffe nicht mehr oder anders funktionieren&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote class=&quot;markdown-alert-note&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;cryptpad.fr&#x2F;kanban&#x2F;#&#x2F;2&#x2F;kanban&#x2F;edit&#x2F;dz-d3R5DTBu4U+qi+UZfKgce&#x2F;&quot;&gt;Fehler und Funktionswünsche werden zur Zeit hier gesammelt (Englisch), bitte klicken&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;das Kontroll-Kästchen bei &quot;Chat anschließend löschen&quot; nach Auswahl von &quot;Verlauf löschen&quot; ist jetzt neu
standardmäßig deaktiviert. Das ist von Vorteil, wenn man bestimmte Chats z. B. als Monitoring Feedback benutzt
und ab und an mal aufräumen will, ohne den Chat zu zerstören&lt;&#x2F;li&gt;
&lt;li&gt;Zitate können nicht verändert werden zum Schutz des Zitierten, Originalzitate sieht man an dem Namen des Zitierten&lt;&#x2F;li&gt;
&lt;li&gt;wird auf eine Frage direkt darunter geantwortet, wird die Frage nicht zitiert&lt;&#x2F;li&gt;
&lt;li&gt;ein Kurzvideo über die Besonderheiten von Zitaten bei Monocles Chat findet man hier:
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;clip.place&#x2F;w&#x2F;9qSAkzA5norbabSGVh9bHF&quot;&gt;https:&#x2F;&#x2F;clip.place&#x2F;w&#x2F;9qSAkzA5norbabSGVh9bHF&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Das rote offene Schloss in der rechten oberen Ecke bei einem 1:1 Chat warnt vor einem unverschlüsselten Chat&lt;&#x2F;li&gt;
&lt;li&gt;Sobald in einem Chat etwas geschrieben wurde, kann durch einen langen Druck auf die &quot;Senden&quot; Taste
(die mit dem Pfeil) oder je nach Einstellung die Büroklammer-Taste die Nachricht später gesendet werden.
Die Umsetzung erfolgt im Client, d. h. zum Sendezeitpunkt muss der Client online sein.
Ansonsten erfolgt das Senden beim nächsten Onlinegehen des Clients.&lt;&#x2F;li&gt;
&lt;li&gt;ebenso kann über dieses Kontextmenü auf WebXDC Anwendungen zugegriffen werden (Widget wählen)&lt;&#x2F;li&gt;
&lt;li&gt;die Chatraumsuche erfolgt über &quot;Bleistifticon&quot; - &quot;+&quot; - &quot;Channels entdecken&quot;. Hier ist die Suche eine globale Suche.
Falls man in die Eigenschaften eines Gruppenchats geht, kann man hier unter dem Punkt &quot;Space durchsuchen&quot; andere öffentliche
Gruppenchats finden, die auf dem gleichen Server liegen wie der Gruppenchat.&lt;&#x2F;li&gt;
&lt;li&gt;Unter der Suche in den Kontakten sind &quot;Tags&quot; anklickbar und dienen als Filter (z. B. Channels zeigt nur Gruppenchats an)&lt;&#x2F;li&gt;
&lt;li&gt;Tags kann man für jeden Kontakt (direkter Chat oder Gruppenchat) vergeben, auch mehrere sind möglich, Namen können beliebig vergeben werden&lt;&#x2F;li&gt;
&lt;li&gt;In den &quot;Einstellungen&quot; unter &quot;Benutzeroberfläche&quot; kann man eine Seitenleiste aktivieren. Damit lässt sich
der angezeigte Verlauf beeinflussen, auch sehr nützlich bei mehreren Accounts!&lt;&#x2F;li&gt;
&lt;li&gt;Ein Wisch nach links archiviert einen Chat, dieses Verhalten kann im Einstellungsmenü aus- und eingeschaltet werden&lt;&#x2F;li&gt;
&lt;li&gt;Reaktionen sendet man durch einen kurzen Klick auf eine Nachricht, dann kann man sie auswählen. Erscheinen direkt unter der Nachricht&lt;&#x2F;li&gt;
&lt;li&gt;Sprachnachrichten können auf einen Klick auf die Zeit pausiert werden&lt;&#x2F;li&gt;
&lt;li&gt;die &quot;:&quot; Funktion zum Aufruf von Stickern kann man deaktivieren&lt;&#x2F;li&gt;
&lt;li&gt;der versteckte Speicher kann bei jedem Chat separat deaktiviert werden&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>OMEMO Verschlüsselung</title>
        <published>2026-05-19T00:00:00+00:00</published>
        <updated>2026-05-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/omemo/"/>
        <id>https://blog.dohdom.de/xmpp/omemo/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/omemo/">&lt;p&gt;Die zur Zeit gängigste Verschlüsselung bei XMPP ist &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;de.wikipedia.org&#x2F;wiki&#x2F;OMEMO&quot;&gt;OMEMO&lt;&#x2F;a&gt;,
nachfolgend sollen ein paar Besonderheiten im Zusammenhang mit OMEMO aufgelistet werden&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;für jede XMPP Adresse (auch JID = Jabber ID genannt) wird ein OMEMO Schlüssel &lt;strong&gt;pro Gerät&lt;&#x2F;strong&gt; und
&lt;strong&gt;pro Client&lt;&#x2F;strong&gt; erstellt, d. h. nutze ich die gleiche XMPP Adresse auf einem Smartphone einmal mit
Monocles Chat und gleichzeitig mit Conversations, so habe ich für dieses Konto schon 2 OMEMO Schlüssel.
Ebenso werden 2 unterschiedliche Schlüssel erstellt, wenn 2 Geräte mit einem Konto und z. B. Conversations benutzt wird&lt;&#x2F;li&gt;
&lt;li&gt;das gleiche gilt, wenn ein schon bestehendes Konto auf einem neuen Gerät eingerichhtet wird, auch hier
werden neue Schlüssel erstellt, es sei denn, man spielt ein Backup von einer vorhandenen Installation ein&lt;&#x2F;li&gt;
&lt;li&gt;sollte man schon länger einen Client mit OMEMO benutzt haben und möchte jetzt auf einen anderen Client
wechseln, so wird das zum Verlust der alten Nachrichten führen. Die Nachrichten sind zwar noch vorhanden,
können aber wegen dem neuen Schlüssel nicht mehr decodiert werden. Abhilfe schafft hier nur die Mitnahme des
alten Schlüssels mittels Backup und Restore. Dabei sollten aber &lt;strong&gt;niemals beide Clients gleichzeitig online&lt;&#x2F;strong&gt; sein.&lt;&#x2F;li&gt;
&lt;li&gt;Nutzt man mehrere Geräte, so kann man auch seine eigenen Schlüssel verifizieren (meistens mit Hilfe eines QR-Codes).
Einmal verifizierte Schlüssel werden auf die anderen Geräte übertragen (bei 3 und mehr Geräten)&lt;&#x2F;li&gt;
&lt;li&gt;kommen neue Schlüssel hinzu, so müssen diese bei einem verschlüsselten Gruppenchat (MUC) erneut an die
Gesprächspartner ausgeliefert werden. Hierzu sollten alle Gesprächspartner online sein, da die Schlüssel
der Gesprächspartner online abgerufen werden&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>XMPP Links</title>
        <published>2026-05-19T00:00:00+00:00</published>
        <updated>2026-05-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/xmpp-links/"/>
        <id>https://blog.dohdom.de/xmpp/xmpp-links/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/xmpp-links/">&lt;ul&gt;
&lt;li&gt;XMPP Blog &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;eversten.net&#x2F;tags&#x2F;xmpp&quot;&gt;https:&#x2F;&#x2F;eversten.net&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;XMPP Grundwissen und sehr neutrale Betrachtung von XMPP bei &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.freie-messenger.de&#x2F;xmpp&#x2F;&quot;&gt;freie Messenger&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>UnifiedPush via XMPP einrichten</title>
        <published>2026-03-17T00:00:00+00:00</published>
        <updated>2026-03-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/unifiedpush/"/>
        <id>https://blog.dohdom.de/xmpp/unifiedpush/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/unifiedpush/">&lt;h3 id=&quot;einleitung&quot;&gt;Einleitung&lt;&#x2F;h3&gt;
&lt;p&gt;Um &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;unifiedpush.org&#x2F;&quot;&gt;UnifiedPush&lt;&#x2F;a&gt; auf einem Endgerät wie Smartphone
oder Tablet nutzen zu könnnen, muss ein sogenannter UnifiedPush Distributor
(eine App, die die Nachrichten entgegennimmt und an die jeweiligen Client
Apps ausliefert) installiert sein.&lt;&#x2F;p&gt;
&lt;p&gt;Unter Android gibt es die Möglichkeit, hierfür die (sowie schon vorhandenen)
XMPP-Clients wie z. B. Conversations, Snikket oder Monocles Chat zu nutzen.
Die Einrichtung ist unkompliziert und soll im Nachfolgenden beschrieben werden.&lt;&#x2F;p&gt;
&lt;p&gt;Es gibt insgesamt 4 Komponenten, die zum erfolgreichen Übermitteln und Anzeigen
der UnifiedPush Nachrichten erforderlich sind:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;die &lt;strong&gt;Quelle&lt;&#x2F;strong&gt;, wo die Nachricht erzeugt wird, diese kann man im Normalfall
nicht ändern und wird hier nur zum besseren Verständnis aufgeführt.&lt;&#x2F;li&gt;
&lt;li&gt;einen &lt;strong&gt;UnifiedPush Server&lt;&#x2F;strong&gt;, welcher zum ersten einen http Endpunkt für die
Quelle bereitstellt und zum zweiten die Nachrichten an die verschiedenen Distributoren
weiterverteilt. Da da in diesem Beispiel über XMPP erfolgen soll, kann so ein UnifiedPush
Server als Modul eines &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;prosody.im&quot;&gt;Prosody-Servers&lt;&#x2F;a&gt; oder eines
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ejabberd.im&quot;&gt;ejabberd Servers&lt;&#x2F;a&gt; bereitgestellt sein.
Fragt im Zweifel bei Eurem XMPP Provider nach, ob er diesen Dienst anbietet.&lt;&#x2F;li&gt;
&lt;li&gt;der &lt;strong&gt;UnifiedPush Distributor&lt;&#x2F;strong&gt; (= Verteiler) übernimmt auf dem jeweiligen Endgerät die
Entgegennahme der Nachricht vom UnifiedPush Server und verteilt diese auf die Clients,
wo sie dann verarbeitet (angezeigt) werden&lt;&#x2F;li&gt;
&lt;li&gt;die &lt;strong&gt;Client&lt;&#x2F;strong&gt;s: UnifiedPush funktioniert z. B. zusammen mit DAVx5
(zum Synchronisieren von Terminen und Kontakten), mit FOSS Warn
(Warnapp zur Anzeige von weltweiten Katastrohphen- oder Warnmeldungen), Fedilab (Client für Mastodon)
und einigen mehr. Die Liste mit unterstützenden Apps findet ihr &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;unifiedpush.org&#x2F;users&#x2F;apps&#x2F;&quot;&gt;hier&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;aktivierung&quot;&gt;Aktivierung&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;Als erstes richtet Ihr Euch den Distributor ein. Bei den Android XMPP Clients findet Ihr das in den Einstellungen ziemlich unten unter dem Punkt &quot;Unified Push Verteiler&quot;. Dort wählt Ihr als nächstes den Push-Server aus. &lt;strong&gt;WICHTIG&lt;&#x2F;strong&gt;: Das muss der Server sein, auf dem Euer XMPP-Konto liegt, über welches Ihr UnifiedPush Nachrichten empfangen wollt. Hier wird &lt;strong&gt;nur die XMPP-Domain akzeptiert&lt;&#x2F;strong&gt;, keine komplette http-Adresse. Danach unter dem Punkt XMPP-Konto Euer XMPP-Konto auswählen, welches Ihr für die Push-Nachrichten verwenden wollt. Ob ein separates Konto dafür sinnvoll ist, vermag ich an dieser Stelle nicht zu sagen.&lt;&#x2F;li&gt;
&lt;li&gt;Jetzt folgen die Clients: In der Regel werden die Clients den eingerichteten Distributor selbstständig erkennen: Entweder wird dieser direkt benannt oder mit seiner &quot;Kennung&quot; (z. B. eu.siacs.conversations). Bei mehreren Distributoren ist der richtige auszuwählen.&lt;&#x2F;li&gt;
&lt;li&gt;Fertig zum Empfang. Solltet Ihr nicht sicher sein, ob das jetzt auch funktioniert, gibt es noch eine Test-App von UnfiedPush. Diese nennt sich UP-App und kann zum Testen des Setups benutzt werden.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;specials-good-to-know&quot;&gt;Specials - good to know&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;Die Push Nachrichten werden auf ihrem Weg verschlüsselt&lt;&#x2F;li&gt;
&lt;li&gt;Die HTTP Endpunkt Adresse des UnifiedPush Servers sieht in der Regel sehr kryptisch aus (z. B. https:&#x2F;&#x2F;xmpp-server.exmple.net&#x2F;push&#x2F;v3.local.LwEXbb4......). Diese ist z. B. in der UP-App sichtbar.&lt;&#x2F;li&gt;
&lt;li&gt;Bei DAVx5 ist zuerst in den Einstellungen der letzte Punkt Integration - UnifiedPush auszuwählen. Dort wird der Distributor eingetragen. Danach klickt man weiter bis in die Eigenschaften eines Kalenders oder der Kontakte. Bei korrekter Einrichtung muss hier ein Eintrag &quot;Push-Unterstützung: Server bietet Push-Unterstützung&quot; zu finden sein. Falls nicht, einmal den roten Punkt &quot;Liste aktualisieren&quot; anwenden und nochmals in den Details dann kontrollieren.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Viel Spaß beim Pushen!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Asterisk - Blindentelefon</title>
        <published>2026-03-01T00:00:00+00:00</published>
        <updated>2026-03-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/asterisk/blindentelefon/"/>
        <id>https://blog.dohdom.de/asterisk/blindentelefon/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/asterisk/blindentelefon/">&lt;p&gt;Ziel dieses Projektes war, eine Möglichkeit für seheingeschränkte oder blinde Menschen zu schaffen,
eine beliebige Telefonnumer nur durch Ansage der Ziffern anrufen zu können.
Wichtig war mir dabei die interne Sprachverarbeitung, was durch den Vosk Server
auch umsetzbar war (bis auf den Initialbefehl &quot;Alexa, schalte Telefon ein&quot;). Um das Projekt
zu realisieren, wurden die vorhandenen Möglichkeiten betrachtet und miteinander verknüpft. Benötigt werden:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;1 Amazon Echo Gerät&lt;&#x2F;li&gt;
&lt;li&gt;1 FHEM Server mit alexa-fhem Anbindung&lt;&#x2F;li&gt;
&lt;li&gt;1 Vosk-Server zur Spracherkennung (im Docker Container)&lt;&#x2F;li&gt;
&lt;li&gt;1 Asterisk Server zur Verwaltung der Telefonie&lt;&#x2F;li&gt;
&lt;li&gt;1 Telefon, welches an Asterisk angebunden ist (bei mir ein analoges Telefon mit Fritzbox 7170)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;asterisk&#x2F;blindentelefon-ablauf.png&quot; alt=&quot;blindentelefon-ablauf&quot; title=&quot;blindentelefon-ablauf&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Nachfolgend einige Aspekte, die zu berücksichtigen sind. Eine komplette Lösung möchte ich hier nicht
vorstellen, da diese individuell sehr unterschiedlich aussehen kann.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Der &quot;Umweg&quot; über Alexa (bzw. dem Amazon Echo Gerät) und FHEM wurde nur gewählt, um eine automatische Wahl
initiieren zu können: Anhand des Befehls &quot;Alexa, schalte Telefon ein&quot; wird in FHEM ein Gerätedummy auf &quot;ein&quot;
gestellt. Dieser Vorgang triggert ein notify, welches dann das AMI-Script aufruft, damit das Telefon klingelt und
nach Abnahme des Höreres eine Verbindung zu der Spracherkennungs-&quot;Durchwahl&quot; herstellt. Wichtig ist im Endeffekt
nur, dass das AMI-Script aufgerufen wird, egal wie&lt;&#x2F;li&gt;
&lt;li&gt;Eine Direktwahl mit Hilfe der Fritzbox ist zwar möglich, aber erst nach 30 Sekunden Wartezeit, das
war mir viel zu lang, erspart aber den Umweg über FHEM mit AMI-Script und Alexa&lt;&#x2F;li&gt;
&lt;li&gt;der Vosk-Server für die Spracherkennung läuft bei mir auf einer separaten Maschine auf bare metal in einem
Docker Container im gleichen Netzwerk wie der Asterisk Server. Dadurch bleibt der Asterisk-Server schön schlank
und hat auch unter Last keinen großen Leidensdruck.&lt;&#x2F;li&gt;
&lt;li&gt;Anfänglich habe ich das (selbst kompilierte) Modul vosk-asterisk genutzt. Das musste ich aber aufgeben,
da es bei verschiedenen Eingangscodecs den Asterisk Server zum Absturz brachte&lt;&#x2F;li&gt;
&lt;li&gt;aktuell zeichnet Asterisk die Sprache auf (mittels RECORD Befehl), danach überträgt ein AGI-Script (Python) die
Datei zum Vosk Server und wandelt nach Rückmeldung die erhaltenen geschriebenen Zahlen in Ziffern um.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Spracherkennung&lt;&#x2F;strong&gt;: Hier muss man wirklich ein wenig &quot;rumspielen&quot; uns den speziellen Anwendungsfall betrachten.
Unterschiedliche Endgeräte als Eingabe haben sehr unterschiedliche Spracherkennungen zur Folge. Für meine
Bedürfnisse funktioniert es gut. Eventuell kann der Asterisk AGC Befehl im Dialplan für mehr Kompatibilität
mit verschiedenen Endgeräten sorgen, genauso wie die Anpassung des RECORD Befehls bezüglich Stilleerkennung und
maximaler Aufzeichnungsdauer. Im Zweifel hilft auch eventuell eine Analyse der aufgenommenen Sprachdatei.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Cheerlights 2.0</title>
        <published>2025-12-29T00:00:00+00:00</published>
        <updated>2025-12-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/elektronik/cheerlights/reloaded/"/>
        <id>https://blog.dohdom.de/elektronik/cheerlights/reloaded/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/elektronik/cheerlights/reloaded/">&lt;p&gt;Es ist nun schon einige Jahre her, dass ich mir das letzte Mal das CheerLights Projekt unter
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;cheerlights.com&quot;&gt;https:&#x2F;&#x2F;cheerlights.com&lt;&#x2F;a&gt; angesehen und für meine Zwecke benutzt hatte.
Seitdem werkelt es nun still und leise (bei Bedarf) vor sich hin.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;elektronik&#x2F;cheerlights&#x2F;cheertanne_dunkel_opt.jpg&quot; alt=&quot;cheertanne_dunkel&quot; title=&quot;Cheerlights Tanne dunkel&quot; &#x2F;&gt;
&lt;img src=&quot;&#x2F;elektronik&#x2F;cheerlights&#x2F;cheertanne_hell_opt.jpg&quot; alt=&quot;cheertanne_hell&quot; title=&quot;Cheerlights Tanne hell&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Vielleicht kommt in 2026 mal wieder ein wenig neuer Schwung in meine Projekte, falls sich ein paar
Leute finden, die genau so viel Spaß an dem Projekt haben wie ich. Dann wird es mal einen Basteltag
bei der &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;trolug.de&quot;&gt;Trolug&lt;&#x2F;a&gt; geben.&lt;&#x2F;p&gt;
&lt;p&gt;Angefangen habe ich bereits damit, mir einen Bot zu schreiben, der via &lt;a href=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;xmpp&#x2F;&quot;&gt;XMPP&lt;&#x2F;a&gt; die Cheerlights
Farbe beeinflussen kann. Die Überschrift hier zeigt übrigens auch die aktuelle Farbe der Cheerlights an.&lt;&#x2F;p&gt;
&lt;p&gt;Mal sehen, wo die Reise so weiter hingeht ... to be continued&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Demoautomat - Froscon 2025</title>
        <published>2025-08-31T00:00:00+00:00</published>
        <updated>2025-08-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/elektronik/demoautomat/froscon-2025/"/>
        <id>https://blog.dohdom.de/elektronik/demoautomat/froscon-2025/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/elektronik/demoautomat/froscon-2025/">&lt;p&gt;Auch dieses Jahr (sowie schon das Jahr davor) hat der Demo-Automat seinen Zweck erfüllt
und jede Menge neugierige Blicke auf sich gezogen. Alle Workshops und Demos waren an
beiden Tagen gut besucht, was uns die Motivation gibt, nächstes Jahr mit den Themen weiter zu machen.&lt;&#x2F;p&gt;
&lt;p&gt;Aber auch Verbesserungspotenzial haben wir erkannt und können das eine oder andere bestimmt bis nächstes Jahr umsetzen:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Einbau eines weiteren &lt;strong&gt;Tasters&lt;&#x2F;strong&gt; zum ordnungsgemäßen Herunterfahren des Gerätes ohne Hilfe eines externen Gerätes&lt;&#x2F;li&gt;
&lt;li&gt;Umbau der &lt;strong&gt;Stromversorgung&lt;&#x2F;strong&gt; auf USB-C (während der FroSCon gab am Sonntag das Netzteil seinen Geist auf und niemand hatte Ersatz)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;NodeRed&lt;&#x2F;strong&gt; - Rückmeldungen der LEDs noch nicht 100% sauber implementiert&lt;&#x2F;li&gt;
&lt;li&gt;nochmaliger Austausch der roten &lt;strong&gt;LED&lt;&#x2F;strong&gt; auf eine stärker leuchtende LED&lt;&#x2F;li&gt;
&lt;li&gt;mehr Zeit für die einzelnen Themen&lt;&#x2F;li&gt;
&lt;li&gt;Anpassung der &lt;strong&gt;XMPP-Räume&lt;&#x2F;strong&gt; auf den XMPP-Server der TroLUG&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Demoautomat - 2025</title>
        <published>2025-07-05T00:00:00+00:00</published>
        <updated>2025-07-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/elektronik/demoautomat/umbau-2025/"/>
        <id>https://blog.dohdom.de/elektronik/demoautomat/umbau-2025/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/elektronik/demoautomat/umbau-2025/">&lt;p&gt;Nach längerer &quot;Ruhezeit&quot; des Demoautomaten galt es, diesen wieder &quot;fit&quot; zu machen für die diesjährige
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;froscon.org&#x2F;&quot;&gt;FrOSCon&lt;&#x2F;a&gt;. Nach einem Upgrade der Basis-Software mussten einige Software
Umbauten stattfinden. So werden die GPIOs des PIs mittlerweile anders angesprochen und das
XMPP-Modul von NodeRed lief alles andere als stabil und wurde entfernt. An dessen Stelle tritt ein
node.js-Script, welches die Nachrichten aus einem XMPP Gruppenchat auf ein MQTT-Topic umsetzt.&lt;&#x2F;p&gt;
&lt;p&gt;Die Auswertung der Chat Nachrichten übernimmt FHEM komplett. Die GPIO-Steuerung direkt aus NodeRed
heraus war wegen der Änderung der GPIO-Bibliothek auch nicht mehr möglich, so dass auch diese
Aufgabe jetzt FHEM zufällt. Die Auswertung des Tasters übernimmt ebenfalls FHEM.&lt;&#x2F;p&gt;
&lt;p&gt;Für die Aussendung der XMPP-Nachricht an den Gruppenchat wird das Kommandozeilen-Tool
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;salsa.debian.org&#x2F;mdosch&#x2F;go-sendxmpp&quot;&gt;go-sendxmpp&lt;&#x2F;a&gt; eingesetzt.&lt;&#x2F;p&gt;
&lt;p&gt;Als Erweiterung zum Vorjahr gibt es ab sofort auch eine Webseite, über die sich
Nachrichten für das Display (PicoTweet) absetzen lassen.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Monocles Chat 1.7.9</title>
        <published>2025-06-23T00:00:00+00:00</published>
        <updated>2025-06-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/monocles179/"/>
        <id>https://blog.dohdom.de/xmpp/monocles179/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/monocles179/">&lt;blockquote class=&quot;markdown-alert-tip&quot;&gt;
&lt;p&gt;Ein gutes Video, um Monocles Chat nach dem Herunterladen einzurichten, findet man hier:
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;clip.place&#x2F;w&#x2F;qKLU4hNHYSpQj3kAEnWEDZ&quot;&gt;https:&#x2F;&#x2F;clip.place&#x2F;w&#x2F;qKLU4hNHYSpQj3kAEnWEDZ&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote class=&quot;markdown-alert-warning&quot;&gt;
&lt;p&gt;Da die Entwicklung von Monocles Chat zur Zeit rasant voranschreitet, kann es passieren,
dass die nachfolgenden Kniffe nicht mehr oder anders funktionieren&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote class=&quot;markdown-alert-note&quot;&gt;
&lt;p&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;cryptpad.fr&#x2F;kanban&#x2F;#&#x2F;2&#x2F;kanban&#x2F;edit&#x2F;dz-d3R5DTBu4U+qi+UZfKgce&#x2F;&quot;&gt;Fehler und Funktionswünsche werden zur Zeit hier gesammelt (Englisch), bitte klicken&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;rechts wischen auf einer Nachricht macht diese zum Zitat im Eingabefeld&lt;&#x2F;li&gt;
&lt;li&gt;langer Druck auf das Anlagen- &#x2F;Senden-Symbol fügt ein &#x2F;me in die Nachricht ein&lt;&#x2F;li&gt;
&lt;li&gt;In einem Chatraum (MUC) kommt man durch Klick auf den Namen in die Eigenschaften des Chatraums&lt;&#x2F;li&gt;
&lt;li&gt;klickt man in den Raumeigenschaften auf &quot;Zugehörige Chats&quot;, werden alle öffentlichen Chaträume
auf dem gleichen Server angezeigt (falls die Raumsuche auf &quot;Lokaler Server&quot; eingestellt ist)&lt;&#x2F;li&gt;
&lt;li&gt;1:1 Chats und Chaträume können über das Burger Menü (die 3 Punkte oben rechts) auf den Startbildschirm gelegt werden&lt;&#x2F;li&gt;
&lt;li&gt;ein einzelner : öffnet die Sticker, gesucht werden können Sticker z. B. mit &lt;code&gt;:racoon&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;der aktuelle Kartenserver, um einen Standort in der Vorschau angezeigt zu bekommen, liegt hier: &lt;strong&gt;https:&#x2F;&#x2F;staticmap.monocles.eu&#x2F;map.png&lt;&#x2F;strong&gt;
Es reicht aber, einen eventuell vorhanden Eintrag in den Einstellungen zu löschen, dann wird diese Adresse als default
genommen (Einstellungen - Sicherheit - Kartenserver)&lt;&#x2F;li&gt;
&lt;li&gt;ab sofort werden ad-hoc Kommandos richtig unterstützt&lt;&#x2F;li&gt;
&lt;li&gt;Falls in den Einstellungen - Experteneinstellungen der Schalter &quot;Zeige Thread Icon&quot; aktiviert ist, kann man in
Gruppenchats einen Filter setzen (links im Eingabefeld) und schreibt dann mit dieser Zusatzmarkierung in den Chat.
Möchte man das Symbol ändern, klickt man entweder im Eingabefeld auf das Symbol und wählt ein anderes aus.
Wahlweise kann man im Chatverlauf auch auf einen Beitrag mit einem entsprechenden Symbol klicken, dann werden
die nächsten Beiträge mit diesem Chatsymbol geschrieben. Klickt man lange auf einen Chateintrag mit einem Thread Symbol,
so wird im Kontextmenü angeboten, dass man nur diesen Thread angezeigt bekommt und man hat damit eine Filteroption.
Sehr nützlich bei großen Chaträumen, wo viele Themen parallel laufen.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Asterisk - SMS</title>
        <published>2025-05-29T00:00:00+00:00</published>
        <updated>2025-05-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/asterisk/sms-intern/"/>
        <id>https://blog.dohdom.de/asterisk/sms-intern/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/asterisk/sms-intern/">&lt;p&gt;Wer IP Telefone an seinem Asterisk nutzt (Softphones oder feststehende IP Telefone),
der hat auch die Möglichkeit, sich gegenseitig Kurznachrichten (ähnlich SMS) zu schicken.
Wichtig zu wissen ist, dass es nur die Übertragung nur dann erfolgreich ist,
wenn der Empfänge auch online ist. Eine Zwischenspeicherung zum späteren Versand ist (hier)
nicht vorgesehen. Nachfolgend die Konfiguration auf Asterisk-Seite.&lt;&#x2F;p&gt;
&lt;p&gt;Angefangen wird in der &lt;strong&gt;pjsip.conf&lt;&#x2F;strong&gt; Datei. Hier muss für jede Nebenstelle (extension),
welche Nachrichten empfangen können soll, der Kontext festgelegt werden, auf den wir uns
später in der &lt;strong&gt;extensions.conf&lt;&#x2F;strong&gt; beziehen werden. Sinnvollerweise deklariert man den
einmal in einem &lt;em&gt;Template&lt;&#x2F;em&gt;, so dass alle Nebenstellen dann davon profitieren können ...
oder man macht sich die Mühe und schreibt es in die Konfiguration jeder Nebenstelle.
Die Direktive, die wir brauchen, lautet:
&lt;code&gt;message_context=textmessages&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Das war in der pjsip-Konfiguration schon alles. Als nächstes geht es in unseren Dialplan,
also in die &lt;strong&gt;extensions.conf&lt;&#x2F;strong&gt;:
Hier wird es etwas aufwändiger. Erst einmal das komplette Code-Snippet:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[textmessages]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; _6XXX,1,Gosub(send-text,s,1,(${EXTEN}))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[send-text]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,1,NoOp(Sending Text To: ${ARG1})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n,NoOp(Message from: ${MESSAGE(from)})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n,NoOp(Message to: ${MESSAGE(to)})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n,NoOp(Message body: ${MESSAGE(body)})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n,Set(SENDER=${CUT(CUT(CUT(MESSAGE(from),@,1),&amp;lt;,2),:,2)})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n,NoOp(Sender: ${SENDER})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n,MessageSend(pjsip:${ARG1},${SENDER})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n,NoOp(Message send status: ${MESSAGE_SEND_STATUS})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n,GotoIf($[&amp;quot;${MESSAGE_SEND_STATUS}&amp;quot; = &amp;quot;SUCCESS&amp;quot;]?success:failed)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n(success),Hangup()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n(failed),Set(MESSAGE(body)=SMS-Fehler zum Empfänger ${ARG1}: ${MESSAGE_SEND_STATUS})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n,MessageSend(pjsip:${SENDER},${ARG1})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;exten =&amp;gt; s,n,Hangup()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Erklärung: Zuerst brauchen wir die &quot;Überschrift&quot; bzw. Referenz aus unserer pjsip.conf Datei und
deklarieren den neuen Abschnitt mit &quot;textmessages&quot;. Hier folgt eine einfache Verzweigung mittels
Gosub in den Unterabschnitt &lt;em&gt;send-text&lt;&#x2F;em&gt; und dort in die Extension s, Startnummer 1.
Mittels der Variablen (${EXTEN}) wird die Zielrufnummer übergeben und steht als ${ARG1} zur Verfügung.
Da ich 4-stellige Nebenstellen-Nummern, beginnend mit 6 vergeben habe, steht 6XXX für die feste 6
am Anfang gefolgt von 3 beliebigen Ziffern.&lt;&#x2F;p&gt;
&lt;p&gt;Im Abschnitt &lt;em&gt;send-text&lt;&#x2F;em&gt; werden erst einmal 4 Informationszeilen zur Kontrolle im Log ausgegeben, die den
Empfänger, den Absender und den eigentlichen Inhalt der Nachricht enthalten. Mithilfe der CUT-Funktion wird als
Nächstes der Absender aus den MESSAGE(from) Funktion herausgeschnitten und danach zur Kontrolle im Log ausgegeben.
Jetzt erfolgt der eigentliche Versand der Nachricht mittels der Funktion MessageSend(pjsip:${ARG1},${SENDER}).
Die folgenden Zeilen werten aus, ob die Übertragung erfolgreich war oder nicht. Falls sie das war,
wird der Block mit einem Hangup() Befehl einfach beendet. Falls nicht, gibt es eine Rückmeldung, ebenfalls
per Kurznachricht, an den Absender mit einer Fehlermeldung. Nachfolgend war das Softphone 6004 ausgeschaltet,
die Fehlermeldung zeigt sich dann wie folgt:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;asterisk&#x2F;sms-nicht-erfolgreich.png&quot; alt=&quot;sms-nicht-erfolgreich&quot; title=&quot;sms-nicht-erfolgreich&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Getestet habe ich die Funktion mit dem Softphone &quot;Sipnetic&quot; und einem festen
Apparat &quot;fanvil X6U&quot;. Hier ist zu beachten, dass das Fanvil nur für reine Textübermittlung
geeignet ist. Bei 2 Softphones können auch z. B. Smileys übertragen werden.
Der Asterisk ist hierbei KEIN Hinderungsgrund. Am Schluß ein kleiner Eindruck einer empfangenen
Kurznachricht auf dem &quot;fanvil&quot; Telefon, gesendet von der Nebenstelle 6001:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;asterisk&#x2F;sms-fanvil.jpg&quot; alt=&quot;sms-fanvil&quot; title=&quot;sms-fanvil&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Rein theoretisch sollte man so auch SMS aus dem Festnetz empfangen können. Das habe ich aber noch nicht
probiert und ich bin mir nicht sicher, ob es das überhaupt noch gibt und von den Providern unterstützt wird.
Nützlich ist die Funktion z. B. falls man auf dem Smartphone eine komplizierte Internet-Adresse dem Gegenüber
mitteilen will, hierfür aber keine eMail schicken kann oder will und es zum
Buchstabieren zu kompliziert ist ... oder einfach nur als netter Bonus :-)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Nachtrag:&lt;&#x2F;strong&gt; SMS im Festnetz werden bei der deutschen Telekom seit 01.03.2023 nicht mehr
unterstützt :-( s. &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.telekom.de&#x2F;hilfe&#x2F;sms-festnetz-abschaltung&quot;&gt;hier&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Browser Zugänge zu Hilfe-Chats</title>
        <published>2025-05-11T00:00:00+00:00</published>
        <updated>2025-05-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/hilfe-chats/"/>
        <id>https://blog.dohdom.de/xmpp/hilfe-chats/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/hilfe-chats/">&lt;h3 id=&quot;folgende-zugange-sind-direkt-uber-einen-internetbrowser-nutzbar&quot;&gt;folgende Zugänge sind direkt über einen Internetbrowser nutzbar&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;chat.dohdom.de&#x2F;newbies.html&quot;&gt;Zugang zum Hilfe Chat für XMPP-Newbies: xmpp:newbies@muc.xmpp.dohdom.de?join&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;chat.trolug.de&quot;&gt;Zugang zum Chat der Troisdorfer Linux User Group (TroLUG) xmpp:trolug@conference.jabb3r.org?join&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;chat.dulcimerforum.de&quot;&gt;Zugang zum Chat der Dulcimerfreunde xmpp:dulcimerfreunde@muc.xmpp.dohdom.de?join&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;werden Gruppenchats bei &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;yaxim.org&quot;&gt;yaxim.org&lt;&#x2F;a&gt; gehostet, so erhalten diese &lt;strong&gt;automatisch&lt;&#x2F;strong&gt; einen (anonymen)
WebChat Zugang unter der Adresse: https:&#x2F;&#x2F;yaxim.org&#x2F;chat&#x2F;#mucname@chat.yax.im&lt;&#x2F;li&gt;
&lt;li&gt;direktes Feedback zu diesen Seiten kannst Du ganz unten rechts über &quot;Feedback via XMPP&quot; geben&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>XMPP Gruppenchats</title>
        <published>2025-05-11T00:00:00+00:00</published>
        <updated>2025-05-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/mucs/"/>
        <id>https://blog.dohdom.de/xmpp/mucs/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/mucs/">&lt;p&gt;Hier findet Ihr eine Übersicht für deutschsprachige XMPP Gruppenchats (auch MUC = Multi User Chat).
Politik bleibt absichtlich außen vor, hierfür gibt es schon genug Medien zum Austausch.
Ergänzungen nehme ich gerne am Ende der Seite ganz unten rechts über den Support Chat entgegen.
Die vorgeschlagenen MUCs sollten schon eine gewisse Mitgliederanzahl haben und ebenso keine illegalen Inhalte bereitstellen.&lt;&#x2F;p&gt;
&lt;p&gt;Ist schon ein XMPP-Client installiert, sollte ein Klick auf den Link genügen, um in den Chatraum zu gelangen.
Wenn nicht, dann schnell zu den &lt;a href=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;xmpp&#x2F;xmpp-links&#x2F;&quot;&gt;weiteren einstiegsfreundlichen XMPP-Seiten&lt;&#x2F;a&gt; wechseln, sich ein Chatkonto
zulegen und einen der vielen XMPP Clients installieren ;-)&lt;&#x2F;p&gt;

&lt;h3 id=&quot;allgemeine-themen&quot;&gt;allgemeine Themen&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:naturepics@conference.jabb3r.org?join&quot;&gt;selbst aufgenommene Naturbilder&lt;&#x2F;a&gt;, Sprachen: DE und EN&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:umwelt-u-naturschutz@treffpunkt.libre-chat.net?join&quot;&gt;Umwelt und Naturschutz&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:ausflug@conference.jabb3r.org?join&quot;&gt;Ausflugsziele in Deutschland&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:kramkiste@chat.openim.de?join&quot;&gt;Flohmarkt von privat an privat&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:koch-rezepte@treffpunkt.libre-chat.net?join&quot;&gt;Kochrezepte&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:speisesaal@conference.anoxinon.me?join&quot;&gt;Speisesaal - kochen,essen,schlemmen&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:test-ccc-1@conference.monocles.de?join&quot;&gt;Literatur Café 7 - Treffpunkt (nicht nur) für Künstler&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:produkt-empfehlungentechnik@conference.anoxinon.me?join&quot;&gt;Produkt-Empfehlungen&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;hobbies&quot;&gt;Hobbies&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:geocaching@chat.yax.im?join&quot;&gt;GeocachingDE - finde den Schatz&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:openstreetmap-de@rooms.dismail.de?join&quot;&gt;Openstreetmap DE - Weltkarte&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:dulcimerfreunde@muc.xmpp.dohdom.de?join&quot;&gt;Dulcimerfreunde&lt;&#x2F;a&gt;, Homepage: &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;dulcimerforum.de&quot;&gt;https:&#x2F;&#x2F;dulcimerforum.de&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:ultralight@chat.jwchat.org?join&quot;&gt;Ultralight Backpacking&lt;&#x2F;a&gt;, Sprachen: DE und EN&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:brettspiele@chat.yax.im?join&quot;&gt;Brettspiele&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;technik-themen&quot;&gt;Technik-Themen&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:technik@conference.jabber.ddnss.eu?join&quot;&gt;selbstgebaute Technik, Heimautomation, Telefonieserver&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:trolug@conference.jabb3r.org?join&quot;&gt;Troisdorfer Linux User Group TroLUG&lt;&#x2F;a&gt;, Homepage: &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;trolug.de&#x2F;de&#x2F;&quot;&gt;https:&#x2F;&#x2F;trolug.de&#x2F;de&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:linuxmint-user@rooms.dismail.de&quot;&gt;Linux Mint User&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:devlug@conference.anoxinon.me?join&quot;&gt;devLUG - virtuelle Linux User Group&lt;&#x2F;a&gt;, Homepage: &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;devlug&quot;&gt;https:&#x2F;&#x2F;codeberg.org&#x2F;devlug&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:kodi@rooms.dismail.de?join&quot;&gt;KODI&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:android@conference.anoxinon.me?join&quot;&gt;Android MUC&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:basteln@conference.anoxinon.me?join&quot;&gt;digitales Basteln&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:ki@chat.disroot.org?join&quot;&gt;Künstliche Intelligenz&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;xmpp-spezifisch&quot;&gt;XMPP spezifisch&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;xmpp:newbies@muc.xmpp.dohdom.de?join&quot;&gt;XMPP Newbies - nicht nur für Neueinsteiger&lt;&#x2F;a&gt;, Sprachen: DE und EN&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Uptime Kuma Benachrichtigungen via XMPP</title>
        <published>2025-04-25T00:00:00+00:00</published>
        <updated>2025-04-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/uptime-kuma/"/>
        <id>https://blog.dohdom.de/xmpp/uptime-kuma/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/uptime-kuma/">&lt;p&gt;Uptime Kuma unterstützt zwar schon jede Menge Messenger und sonstige Dienste, um Benachrichtigungen
an zuständige Personen weiterzuleiten, leider gibt es aber (noch) keine native Auswahl für Jabber&#x2F;XMPP.
Hier behelfen wir uns mit einem Trick: Das Verfahren läuft, wie bei Proxmox auch, über sogenannte Webhooks.
Das heißt, Voraussetzung ist ein XMPP-Server Betreiber, der auch über eine HTTP Schnittstelle verfügt
(weitere Erklärung siehe &lt;a href=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;xmpp&#x2F;proxmox-xmpp&#x2F;&quot;&gt;hier&lt;&#x2F;a&gt;), mir bekannt sind z. B.
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;jabber.hot-chilli.net&#x2F;de&quot;&gt;Hot Chilli&lt;&#x2F;a&gt; oder &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;monocles.de&quot;&gt;monocles.de&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Ist das sichergestellt, sollte man als Nächstes eine base64-codierte Version seines XMPP-Zugangs,
welchen man als Absender für die Nachrichten nehmen möchte (bestehend aus
der XMPP-Adresse und dem dazugehörigen Kennwort), erzeugen. Die Anleitung hierfür unter einem
Linux Betriebssystem steht auch in dem Artikel zu &lt;a href=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;xmpp&#x2F;proxmox-xmpp&#x2F;&quot;&gt;Benachrichtigungen von Proxmox&lt;&#x2F;a&gt;.
Für leidgeplagte Win* User gibt es laut
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;37046771&#x2F;base64-encode-string-command-line-windows&quot;&gt;Stackoverflow&lt;&#x2F;a&gt;
einen Powershell Befehl, der die gleiche Arbeit leistet (nicht getestet!):&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;powershell &amp;quot;[convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes(\&amp;quot;sender@server.de:geheimespasswort\&amp;quot;))&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Sind diese Voraussetzungen erfüllt, geht es in die Verwaltungsoberfläche von
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;louislam&#x2F;uptime-kuma&quot;&gt;Uptime Kuma&lt;&#x2F;a&gt;. Dort findet man nach einem erfolgreichen
Login in sein Administrator Konto oben rechts ein Pulldown-Menü mit dem Punkt &lt;code&gt;Einstellungen&lt;&#x2F;code&gt;.
Hier wählt man den Punkt &lt;code&gt;Benachrichtigungen&lt;&#x2F;code&gt; aus und klickt anschließend auf &lt;code&gt;Benachrichtigung einrichten&lt;&#x2F;code&gt;.
Aus der sehr langen Liste von Benachrichtigungsdiensten wählt man dann &quot;Webhook&quot; aus und
erhält folgende (noch auszufüllende) Maske:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;xmpp&#x2F;uptime-kuma&#x2F;uptime-kuma-xmpp-notification-settings.png&quot; alt=&quot;uptime-kuma-xmpp-notification-settings&quot; title=&quot;uptime-kuma-xmpp-notification-settings&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Jetzt muss nur noch aus dem Beispiel die XMPP-Anbieter-Adresse richtig gesetzt werden,
der Empfänger richtig eingestellt werden und bei den zusätzlichen Headern die oben generierte
base64 Zeichenkette eingetragen werden. Danach bietet Uptime Kuma ganz unten die Möglichkeit,
den soeben erstellten Webhook direkt zu testen. Das sollte zur Überprüfung auch gemacht werden,
bevor dann im letzten Schritt das Ganze abgespeichert wird. Als letztes muss diese Benachrichtigungsmethode
dann noch mindestens 1 Monitor zugewiesen werden und das war&#x27;s!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;xmpp&#x2F;uptime-kuma&#x2F;uptime-kuma-xmpp-notification.jpg&quot; alt=&quot;uptime-kuma-xmpp-notification&quot; title=&quot;uptime-kuma-xmpp-notification&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Falls alles in Ordnung war, könnte das Resultat so wie oben aussehen! Die erste Nachricht war der
Test der Benachrichtigung. Die folgenden Meldungen war der simulierte Ausfall und anschließender
Neustart eines Docker Containers. Viel Spaß beim Nachbau und gerne Rückmeldung dazu direkt hier
im blogeigenen Chat ganz unten rechts auf jeder dieser Seiten zu finden.&lt;&#x2F;p&gt;
&lt;p&gt;Nachfolgend noch eine Anleitung, wenn der Webhook nicht an einen Prosody Server, sondern an einen ejabberd
Server geschickt wird (danke an Stephan für die Ergänzung).&lt;&#x2F;p&gt;
&lt;p&gt;Auf dem ejabberd-Server muss http-api aktiviert sein und die ejabberd.yml um Folgendes ergänzt werden:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;listen:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  - ip: 127.0.0.1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    port: 5580&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    module: ejabberd_http&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    tls: false&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    request_handlers:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      &#x2F;api: mod_http_api&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;modules:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  mod_http_api: {}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;acl:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  alert_sender:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    user: alerts@example.org&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;api_permissions:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;quot;uptime-kuma&amp;quot;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    who:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      access:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        allow:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;          acl: alert_sender&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    what:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      - send_message&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;In den Einstellungen bei Uptime Kuma ist Folgendes zu ändern:&lt;br &#x2F;&gt;
Die URL ändert sich zu: &lt;code&gt;http:&#x2F;&#x2F;127.0.0.1:5580&#x2F;api&#x2F;send_message&lt;&#x2F;code&gt; (falls die Konfiguration
von ejabberd.yml so ist wie oben beschrieben, sonst ggf. Port und Adresse anpassen).&lt;&#x2F;p&gt;
&lt;p&gt;Da ejabberd den Sender und Empfänger nicht automatisch aus der URL extrahieren kann, muss bei
Uptime Kuma der Anforderungstext wie folgt aussehen (custom bzw. benutzerdefinierter body):&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;quot;type&amp;quot;: &amp;quot;chat&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;quot;from&amp;quot;: &amp;quot;uptimekuma@beispiel.de&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;quot;to&amp;quot;: &amp;quot;user@beispiel.de&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;quot;subject&amp;quot;: &amp;quot;&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;quot;body&amp;quot;: {{ msg | json }}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Die Konfiguration funktioniert so natürlich nur, solange Uptime Kuma und ejabberd auf der gleichen
Maschine laufen, ansonsten sind die Adressparameter entsprechend zu ändern.&lt;&#x2F;p&gt;
&lt;p&gt;Falls kein eigener XMPP-Server vorhanden ist, bitte bei Eurem XMPP-Provider nachfragen, was dieser
für eine Serversoftware nutzt und ob die entsprechenden Konfigurationen vorliegen oder ihn lieb
bitten, diese einzupflegen.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Proxmox Benachrichtigungen via XMPP</title>
        <published>2025-02-10T00:00:00+00:00</published>
        <updated>2025-02-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/proxmox-xmpp/"/>
        <id>https://blog.dohdom.de/xmpp/proxmox-xmpp/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/proxmox-xmpp/">&lt;p&gt;Da Proxmox seit einiger Zeit auch sogenannte &quot;Webhooks&quot; beherrscht, ist es relativ einfach, sich per XMPP
Benachrichtigungen von Proxmox schicken zu lassen. Voraussetzung: Ihr nutzt einen XMPP-Anbieter, der auch
eine HTTP-Schnittstelle für XMPP bereitstellt (z. B. &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;jabber.hot-chilli.net&#x2F;de&quot;&gt;Hot Chilli&lt;&#x2F;a&gt; oder
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;monocles.de&quot;&gt;monocles.de&lt;&#x2F;a&gt; bzw. &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;monocles.eu&quot;&gt;monocles.eu&lt;&#x2F;a&gt;).
Im Zweifel Euren Anbieter fragen. Benutzt dieser einen Prosody-Server, so heißt das entsprechende Modul,
auf dem auch diese Anleitung beruht, &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;modules.prosody.im&#x2F;mod_post_msg&quot;&gt;mod_post_msg&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Die Einrichtung erfolgt im Proxmox GUI über das &lt;code&gt;Rechenzentrum&lt;&#x2F;code&gt;.
Hier wählt man ziemlich weit unten den Punkt &lt;code&gt;Benachrichtigungen&lt;&#x2F;code&gt; aus. Dort befinden sich dann zwei Unterpunkte,
von denen wir uns den ersten genauer ansehen. Dieser lautet &lt;code&gt;Benachrichtigungsziele&lt;&#x2F;code&gt;. Nach Anklicken des Punktes
&lt;code&gt;Hinzufügen&lt;&#x2F;code&gt; öffnet sich ein Pulldown-Menü, aus dem wir den Punkt &lt;code&gt;Webhook&lt;&#x2F;code&gt; auswählen. Nun erfolgt die eigentliche Bearbeitung.&lt;&#x2F;p&gt;
&lt;p&gt;Als erstes vergibt man dem Webhook einen Namen. Hier muss darauf geachtet werden, dass dieser keine
Leerzeichen enthält, da sonst die Bearbeitung nicht abgeschlossen wird. Die Methode belassen wir auf POST.
Das Häkchen bei Aktivieren sollte auch gesetzt sein. Jetzt erfolgt die Eingabe der Zieladresse,
bei &lt;strong&gt;hot-chilli&lt;&#x2F;strong&gt; lautet diese: &lt;code&gt;https:&#x2F;&#x2F;jabber.hot-chilli.net:5281&#x2F;msg&#x2F;&lt;&#x2F;code&gt;.
Nutzt Ihr &lt;strong&gt;monocles.de&lt;&#x2F;strong&gt; oder &lt;strong&gt;monocles.eu&lt;&#x2F;strong&gt; als Provider, dann lautet die Zieladresse:
&lt;code&gt;https:&#x2F;&#x2F;monocles.de&#x2F;msg&#x2F;&lt;&#x2F;code&gt; bzw. &lt;code&gt;https:&#x2F;&#x2F;monocles.eu&#x2F;msg&#x2F;&lt;&#x2F;code&gt;. Dann brauchen wir 2 Header, die wir im
darauf folgenden Feld setzen. Der erste hat als Schlüssel &lt;code&gt;Content-Type&lt;&#x2F;code&gt; und als Wert &lt;code&gt;application&#x2F;json&lt;&#x2F;code&gt;.
Der zweite hat als Schlüssel &lt;code&gt;Authorization&lt;&#x2F;code&gt; und erhält als Wert &lt;code&gt;Basic base64-encoded-username:password&lt;&#x2F;code&gt;.
Das Wort Basic wird so in den Wert geschrieben. Unter Linux bekommt man den darauf folgenden Wert in der
Kommandozeile mit dem Befehl &lt;code&gt;echo -n &quot;benutzer@xmpp-server.de:strenggeheimespasswort&quot; | base64&lt;&#x2F;code&gt;. Der
Benutzer, der hier eingetragen wird, ist der Sender der Nachricht.&lt;&#x2F;p&gt;
&lt;p&gt;Das jetzt folgende Feld heißt &lt;code&gt;body&lt;&#x2F;code&gt; und beinhaltet Informationen im JSON-Format (wir haben ja als
Content-Type json ausgewählt). Das sieht zum Beispiel jetzt so aus:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;json&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8FBCBB;&quot;&gt;to&lt;&#x2F;span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;empfaenger@xmpp-server.de&lt;&#x2F;span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8FBCBB;&quot;&gt;type&lt;&#x2F;span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;chat&lt;&#x2F;span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;  &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8FBCBB;&quot;&gt;body&lt;&#x2F;span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;: &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;{{ title }}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBCB8B;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;{{ severity }}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBCB8B;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;{{ timestamp }}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBCB8B;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A3BE8C;&quot;&gt;{{ message }}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #ECEFF4;&quot;&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Der Wert von &lt;code&gt;to&lt;&#x2F;code&gt; enthält die komplette XMPP-Empfängeradresse. &lt;code&gt;type&lt;&#x2F;code&gt; sollte auf &lt;code&gt;chat&lt;&#x2F;code&gt; belassen werden
und im &lt;code&gt;body&lt;&#x2F;code&gt; verbirgt sich die eigentliche Nachricht, die der Empfänger bekommen soll. Die jeweils
doppelt geschweiften Klammern beinhalten Variablen, die beim Verschicken einer Benachrichtigung durch
die jeweiligen Ereignisse ersetzt werden. Welche es davon alle gibt, kann man sich
über die Hilfe links unten anzeigen lassen.&lt;&#x2F;p&gt;
&lt;p&gt;Abschließend kann man noch einen Kommentar vergeben, der dann in der Übersicht auftaucht, damit man
diese Benachrichtigungsart von anderen Arten besser unterscheiden kann. Danach kann die Eingabe auf
einen Klick auf OK beendet werden und damit ist die XMPP-Benachrichtigung fertig.&lt;&#x2F;p&gt;
&lt;p&gt;Falls alles richtig gemacht wurde, kann man jetzt in der Übersicht das neu erstellte Benachrichtigungsziel
durch Anklicken auswählen und im Auswahlmenü einen Test ausführen lassen. Nach einer weiteren Bestätigung
sollte man dann eine Testbenachrichtigung erhalten. Damit wäre die Konfiguration des Benachrichtigungsziels abgeschlossen.&lt;&#x2F;p&gt;
&lt;p&gt;Im letzten Schritt muss noch festgelegt werden, bei welcher Art der Benachrichtigung die XMPP-Benachrichtigung versendet
werden soll. Da ich bei mir noch keine Benachrichtigung per eMail konfiguriert hatte, lasse ich mich einfach bei allen
Vorfällen benachrichtigen. Hierzu ändert man einfach den &lt;code&gt;default-matcher&lt;&#x2F;code&gt; ab, indem man auf der Registerkarte
&lt;code&gt;Benachrichtigungsziele&lt;&#x2F;code&gt; das eben erstellte Benachrichtigungsziel (mit)auswählt.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Neuer Anker Wechselrichter</title>
        <published>2025-01-31T00:00:00+00:00</published>
        <updated>2025-01-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/balkonkraftwerk/anker-wechselrichter/"/>
        <id>https://blog.dohdom.de/balkonkraftwerk/anker-wechselrichter/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/balkonkraftwerk/anker-wechselrichter/">&lt;p&gt;Nachdem ich mich letztes Jahr so oft darüber geärgert hatte, dass die Mindestabgabe
in das Hausnetz 150 Watt beträgt und ich dadurch einiges des mühsam gesammelten Ertrags
wieder verschenken musste, habe ich mich nun doch dazu entschlossen, den Wechselrichter
passend zur Solarbank zu kaufen. Nun ist zwar der Januar nicht gerade repräsentativ,
aber ich konnte doch die rückeingespeiste Leistung gut reduzieren.&lt;&#x2F;p&gt;
&lt;p&gt;Jetzt muss ich nur noch schauen, wie ich die Logik meiner Heimautomation entsprechend gestalte,
um ein Optimum herauszuholen. Der Wechselrichter &quot;tickt&quot; doch etwas anders als das vorherige Modell.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>allgemeine XMPP Tricks</title>
        <published>2024-12-21T00:00:00+00:00</published>
        <updated>2024-12-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/xmpp-kniffe/"/>
        <id>https://blog.dohdom.de/xmpp/xmpp-kniffe/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/xmpp-kniffe/">&lt;p&gt;21.12.2024 (last update)&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;In einem XMPP-Account können noch Zusatzinformationen wie z. B. die E-Mail Adresse
oder die Homepage hinterlegt werden. Nicht alle Clients unterstützen die Anzeige
und&#x2F;oder das Editieren. &lt;em&gt;Monocles Chat&lt;&#x2F;em&gt; erlaubt die Anzeige der Informationen, in dem man in die Chatdetails
eines 1:1 Chat geht. Die eigenen Informationen trägt man in den Kontodetails ein.
Editieren kann z. B. auch &lt;em&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;conversejs.org&quot;&gt;Conversejs&lt;&#x2F;a&gt;&lt;&#x2F;em&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;ebenso kann man in den Details seines Accounts seine Präsenz setzen und einen
Kommentar dazu schreiben (Bsp: Status abwesend, Kommentar: bin in einer Konferenz)&lt;&#x2F;li&gt;
&lt;li&gt;ein &lt;code&gt;&#x2F;me&lt;&#x2F;code&gt; am Anfang einer Nachricht wird ersetzt durch den Nicknamen (falls vom Client unterstützt)&lt;br&#x2F;&gt;
Bsp: &#x2F;me ist interessiert -&amp;gt; MeinNick ist interessiert&lt;&#x2F;li&gt;
&lt;li&gt;in einem Multi User Chat (MUC) kann man durch Klicken auf das Profilbild&#x2F;Avatar eines Nutzers
ihm eine private Nachricht zukommen lassen (falls erlaubt)&lt;br&gt;
So stört man den Chat nicht und kann an bestimmte Leute gezielt Rückfragen stellen&lt;&#x2F;li&gt;
&lt;li&gt;da XMPP ein dezentrales&#x2F;verteiltes Netzwerk ist, gibt es MUCs auf (nahezu) jedem Server.
Sollte dieser Server einmal neu starten müssen, so wird man unter Umständen aus dem Gruppenchat
&quot;geworfen&quot; (technisches Problem). Nach einem erneuten Verbinden sollte alles wieder da sein.
Überprüfen kann man die uptime eines Servers über den 1:1 Chat mit &lt;code&gt;magicbot@magicbroccoli.de&lt;&#x2F;code&gt; (unverschlüsselt)
und dem Befehl &lt;code&gt;!uptime &amp;lt;Servername&amp;gt;&lt;&#x2F;code&gt;&lt;br&gt;
Hierbei ist Servername mit dem zu überprüfenden Server zu ersetzen, z. B. xmpp.dohdom.de&lt;&#x2F;li&gt;
&lt;li&gt;es gibt einige Bots, die einen Befehl an einem vorausgehenden Ausrufezeichen erkennen, z. B. &lt;code&gt;!uptime&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Möchte man einen 1:1 Chat jemandem weitergeben und gleichzeitig einen bestimmten Namen für
diesen Chat vergeben, so geht das mit folgender Syntax:&lt;br&gt;
&lt;code&gt;xmpp:ich@irgendwo.ser.ver?add;name=Anzeigename&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;möchte man einen Zugang ohne XMPP-Konto (z. B. für einen Support-Chat), so geht das
nur mit einem anonymen Zugang. Dieser muss auf dem Server des Chats separat erstellt
werden und der Server muss dies auch unterstützen&lt;&#x2F;li&gt;
&lt;li&gt;wenn man Bekannte in einen Chatraum einlädt, &quot;fallen&quot; diese direkt in den Raum rein,
ohne dass sie selbst tätig werden müssen (im Gegensatz zum reinen Link verschicken)&lt;&#x2F;li&gt;
&lt;li&gt;Die Clients gajim oder profanity können die Komponenten eines XMPP-Servers auflisten (z. B. transports, anonyme Zugänge)&lt;&#x2F;li&gt;
&lt;li&gt;Einen Einladungslink (z. B. für eine eMail-Signatur) kann man so erstellen:&lt;br &#x2F;&gt; &lt;em&gt;https:&#x2F;&#x2F;xmpp.link&#x2F;#eigene@xmpp.adresse&lt;&#x2F;em&gt;&lt;br &#x2F;&gt;
Dabei die eigene XMPP-Adresse hinter das #-Zeichen setzen. Dies ist nur eine Einladung für einen Chat und erstellt
kein Konto auf einem XMPP-Server!&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>SMS2XMPP Gateway</title>
        <published>2024-07-14T00:00:00+00:00</published>
        <updated>2024-07-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/sms2xmpp/"/>
        <id>https://blog.dohdom.de/xmpp/sms2xmpp/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/sms2xmpp/">&lt;p&gt;Neulich kam mir beim Stöbern mal wieder die Idee, eine alte Hardware neu zu nutzen.
Ich habe schon seit Ewigkeiten einen Mobilfunk Stick für das 3G Netz (ja richtig, 3G),
welcher schon länger bei mir keine Verwendung mehr findet. Der Stick ist ein Huawei E160E
(damals gab es den u. a. bei n24 für den Internet Zugang).&lt;&#x2F;p&gt;
&lt;p&gt;Durch die Fusion von &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;sipgate.de&quot;&gt;Sipgate&lt;&#x2F;a&gt; und simquadrat und da ich schon seit Ewigkeiten
einen (jetzt) Sipgate Basic Account habe, gab es irgendwann mal eine Mobilfunknummer kostenlos zur
SIP-Rufnummer dazu. Auch die lag bei mir bisher mehr oder weniger brach. Bei genauerem Studium hatte
ich festgestellt, dass man sich kostenlos SIM-Karten bestellen kann.&lt;&#x2F;p&gt;
&lt;p&gt;Also, mal das Internet bemüht und festgestellt, dass es mit Hilfe von den &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;smstools3.kekekasvi.com&#x2F;index.php?p=&quot;&gt;smstools&lt;&#x2F;a&gt;
(vorpaketiert für Debian) ohne große Anstrengungen möglich ist, SMS empfangen und versenden zu können.
Zuerst wollte ich den modemmanager benutzen, bin aber letztendlich bei den smstools hängen geblieben.
Eine Langzeit Zuverlässigkeitsaussage habe ich zwar noch nicht, aber bisher werkelt der Stick prima vor sich hin.
Da es wohl am Schwierigsten sein soll, das jeweilige Modem zu initialisieren, stelle ich hier meine Konfiguration
zur Verfügung. Vielleicht kann es der eine oder die andere brauchen :-)&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;devices = GSM1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;outgoing = &#x2F;var&#x2F;spool&#x2F;sms&#x2F;outgoing&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;checked = &#x2F;var&#x2F;spool&#x2F;sms&#x2F;checked&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;incoming = &#x2F;var&#x2F;spool&#x2F;sms&#x2F;incoming&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;logfile = &#x2F;var&#x2F;log&#x2F;smstools&#x2F;smsd.log&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;infofile = &#x2F;var&#x2F;run&#x2F;smstools&#x2F;smsd.working&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;pidfile = &#x2F;var&#x2F;run&#x2F;smstools&#x2F;smsd.pid&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;outgoing = &#x2F;var&#x2F;spool&#x2F;sms&#x2F;outgoing&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;checked = &#x2F;var&#x2F;spool&#x2F;sms&#x2F;checked&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;failed = &#x2F;var&#x2F;spool&#x2F;sms&#x2F;failed&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;incoming = &#x2F;var&#x2F;spool&#x2F;sms&#x2F;incoming&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sent = &#x2F;var&#x2F;spool&#x2F;sms&#x2F;sent&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;stats = &#x2F;var&#x2F;log&#x2F;smstools&#x2F;smsd_stats&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;loglevel = notice&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;smart_logging = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;receive_before_send = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;autosplit = 3&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;decode_unicode_text = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;eventhandler = &#x2F;usr&#x2F;local&#x2F;bin&#x2F;sms2xmpp.sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[GSM1]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;init = AT+CPMS=&amp;quot;ME&amp;quot;,&amp;quot;ME&amp;quot;,&amp;quot;ME&amp;quot; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;device = &#x2F;dev&#x2F;serial&#x2F;by-id&#x2F;usb-HUAWEI_Technology_HUAWEI_Mobile-if00-port0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;incoming = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;baudrate = 115200&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;keep_open = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;cs_convert = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;memory_start = 0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;check_memory_method = 3&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;report = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;rtscts = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;report_device_details = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;signal_quality_ber_ignore = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Hier einige Besonderheiten:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;der Init-Befehel ist wohl von GSM-Modem zu GSM-Modem unterschiedlich und nach einigem Suchen
und Probieren war der oben gegebene mein Schlüssel zu den SMS&lt;&#x2F;li&gt;
&lt;li&gt;das Device nehme ich absichtlich &lt;strong&gt;NICHT&lt;&#x2F;strong&gt; als &#x2F;dev&#x2F;ttyUSB0, da sich diese Bezeichnung schon mal ändern kann,
z. B. nach Neustarts oder beim Plugin neuer Hardware&lt;&#x2F;li&gt;
&lt;li&gt;der Stick meldet 2 Modems an, bei mir funktioniert nur das erste, ein Switch ist nicht erforderlich
(wegen zusätzlich integriertem Massenspeicher), das machen anscheinend aktuelle Kernels von alleine&lt;&#x2F;li&gt;
&lt;li&gt;die Weiterverarbeitung passiert bei mir in der Datei &lt;code&gt;&#x2F;usr&#x2F;local&#x2F;bin&#x2F;sms2xmpp.sh&lt;&#x2F;code&gt; die sich unter der Option
eventhandler einstellen lässt. Hier ist wichtig zu wissen, dass der erste Parameter, der übergeben wird,
das Ereignis darstellt (z. B. RECEIVED für SMS empfangen) und der zweite Parameter, der übergeben wird,
den Pfad zur gespeicherten SMS beinhaltet.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Wie die Weiterverarbeitung in der Datei &lt;code&gt;&#x2F;usr&#x2F;local&#x2F;bin&#x2F;sms2xmpp.sh&lt;&#x2F;code&gt; aussehen könnte, dafür gibt es
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;medium.com&#x2F;@MichaelMarner&#x2F;sending-receiving-sms-on-linux-acf7610e2d2&quot;&gt;hier&lt;&#x2F;a&gt; ein sehr
einfaches Beispiel, was man als Startbasis nehmen kann.&lt;&#x2F;p&gt;
&lt;p&gt;In meinem Falle nehme ich noch einige Daten mehr mit hinzu und sende das Ganze via
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;salsa.debian.org&#x2F;mdosch&#x2F;go-sendxmpp&quot;&gt;go-sendxmpp&lt;&#x2F;a&gt; an meine XMPP Adresse.&lt;&#x2F;p&gt;
&lt;p&gt;Eine winzige (bauartbedingte) Unannehmlichkeit gibt es noch: Die eingebaute grüne LED des Sticks
blinkt regelmäßig im 2-3 Sekundentakt 1x auf. Der Stick sollte daher wenn möglich nicht im Schlafzimmer
verbaut werden. Ansonsten bin ich ziemlich zufrieden mit der Lösung. Hier das Ergebnis:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;xmpp&#x2F;sms2xmpp&#x2F;sms2xmpp.jpg&quot; alt=&quot;sms2xmpp&quot; title=&quot;sms2xmpp&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Der erste Anbau erfolgte an einem Raspberry Pi Model 1B, musste aber aufgrund eines fehlenden aktiven
USB-Hubs aber wieder verworfen werden, da der Stick soviel Energie aus dem USB-Port zieht, dass der Pi
beim Einstecken neu startet. Das war so für mich nicht zu gebrauchen.&lt;&#x2F;p&gt;
&lt;p&gt;Sendemäßig habe ich diese Lösung noch nicht implementiert, da noch nicht gebraucht.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Demoautomat - der Umzug</title>
        <published>2024-07-11T00:00:00+00:00</published>
        <updated>2024-07-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/elektronik/demoautomat/umzug/"/>
        <id>https://blog.dohdom.de/elektronik/demoautomat/umzug/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/elektronik/demoautomat/umzug/">&lt;p&gt;Endlich ist der Demo-Automat in ein richtiges Zuhause umgezogen.
Das Gehäuse ist natürlich komplett geschlossen, allerdings sieht man so schön die &quot;inneren Werte&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;elektronik&#x2F;demoautomat&#x2F;demoautomat-offen-laengs.jpg&quot; alt=&quot;demoautomat-offen-laengs&quot; title=&quot;Demoautomat-offen-längs&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;elektronik&#x2F;demoautomat&#x2F;demoautomat-offen-quer.jpg&quot; alt=&quot;demoautomat-offen-quer&quot; title=&quot;demoautomat-offen-quer&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Asterisk - Konfig dt. Telekom</title>
        <published>2024-06-19T00:00:00+00:00</published>
        <updated>2024-06-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/asterisk/telekom-config-crypted/"/>
        <id>https://blog.dohdom.de/asterisk/telekom-config-crypted/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/asterisk/telekom-config-crypted/">&lt;p&gt;Die Konfiguration, um einen Dt. Telekom Magenta Zuhause Anschluss über den Asterisk an&#x27;s
Laufen zu bekommen, beruht, im Gegensatz zur an anderer Stelle beschriebenen Sipgate Konfiguration,
&lt;strong&gt;nicht&lt;&#x2F;strong&gt; auf der PJSIP-Wizard Datei, sondern wird komplett in der &lt;strong&gt;pjsip.conf&lt;&#x2F;strong&gt; Datei hinterlegt.
Ob eine funktionierende Konfiguration mit dem Wizard erstellt werden kann, habe ich nicht ausprobiert,
sollte aber grundsätzlich möglich sein. Wie schon in der Konfiguration bei Sipgate erwähnt,
sollte &lt;strong&gt;für jede registrierte Rufnummer ein eigener Transport&lt;&#x2F;strong&gt; definiert werden.&lt;&#x2F;p&gt;
&lt;p&gt;Wie bei jedem Trunk (d. h. Verbindung zu einem Telefonanbieter) und pjsip bei Asterisk gibt es 6 verschiedene Definitonsbereiche. Diese lauten:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;transport (Transportweg)&lt;&#x2F;li&gt;
&lt;li&gt;registration (Registrierung beim Provider)&lt;&#x2F;li&gt;
&lt;li&gt;auth (Authentifizierung)&lt;&#x2F;li&gt;
&lt;li&gt;endpoint (Eigenschaften für ankommende u. abgehende Gespräche)&lt;&#x2F;li&gt;
&lt;li&gt;aor&lt;&#x2F;li&gt;
&lt;li&gt;identify (Sicherheit, um unberechtigte SIP-Anfragen zu unterbinden)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Nachfolgend meine (anonymisierte) Konfiguration für die virtuelle Rufnummer 0228-123456:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[transport-telekom-tls-1]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type = transport&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;protocol = tls&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;bind = 0.0.0.0:0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;local_net=192.168.2.0&#x2F;24&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ca_list_file = &#x2F;etc&#x2F;ssl&#x2F;certs&#x2F;ca-certificates.crt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;method = tlsv1_2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;verify_server = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;allow_reload = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;tos = 0xb8&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;cos = 3&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;;==== Templates ====&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[regt](!)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;retry_interval = 60&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;fatal_retry_interval = 0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;forbidden_retry_interval = 10&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;max_retries = 10000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;expiration = 660&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;auth_rejection_permanent = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;line = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[endpt](!)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;context = telekom-in&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;disallow = all&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;allow = g722,alaw,ulaw&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;send_connected_line=false&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;from_domain = tel.t-online.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;language = de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;user_eq_phone = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;t38_udptl = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;t38_udptl_ec = none&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;fax_detect = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;trust_id_inbound = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;t38_udptl_nat = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;direct_media = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;rewrite_contact = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;rtp_symmetric = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;dtmf_mode = rfc4733&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;tos_audio=0xb8&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;rtp_timeout=120&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;media_encryption = sdes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[telekom_123456_reg](regt)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type = registration&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;transport = transport-telekom-tls-1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;outbound_auth = telekom_123456_auth&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;server_uri = sip:tel.t-online.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;client_uri = sip:+49228123456@tel.t-online.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;contact_user = +49228123456&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint = telekom_123456&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[telekom_123456_auth]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type = auth&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;auth_type = userpass&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;password = irgend:etwas-0001@tel.t-online.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;username = +49228123456&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[telekom_123456](endpt)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type = endpoint&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;transport = transport-telekom-tls-1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;message_context = messaging&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;outbound_auth = telekom_123456_auth&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;aors = telekom_123456_aor&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;from_user = +49228123456&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;contact_user = +49228123456&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[telekom_123456_aor]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type = aor&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;contact = sip:+49228123456@tel.t-online.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;qualify_frequency=240&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;remove_existing=yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[telekom_123456_identify]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type = identify&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint = telekom_123456&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;match = tel.t-online.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Nachfolgend noch ein paar Hinweise:
Solange die Registrierung am heimischen Anschluss (zu dem die Rufnummern gehören) erfolgt, ist das Passwort in der
in der auth-Sektion tatsächlich egal, da die Telekom hier einen anderen Weg zur Überprüfung des Benutzers benutzt.&lt;&#x2F;p&gt;
&lt;p&gt;Die Gesprächsverschlüsselung erkennt man an der Option &lt;code&gt;media_encryption = sdes&lt;&#x2F;code&gt;. Diese gilt, genau wie bei der
Sipgate-Konfiguration auch, zwischen Asterisk und (in diesem Falle) der Telekom und darf nicht mit einer
Ende-zu-Ende Verschlüsselung verwechselt werden!&lt;&#x2F;p&gt;
&lt;p&gt;Auch hier gilt: local_net ist auf das lokale Netz anzupassen, der Pfad für die ca_list_file Datei ist evtl.
auch anzupassen (das ist die Datei, in der sämtliche Zertifizierungsstellen aufgeführt sind).&lt;&#x2F;p&gt;
&lt;p&gt;Die Sektionen regt und endpt sind wieder Vorlagen (Templates), um sich entsprechende (sich wiederholende)
Einträge bei den einzelnen Rufnummern sparen zu können.&lt;&#x2F;p&gt;
&lt;p&gt;Als Codecs benutze ich G722 (das entspricht HD-Voice) sowie alaw (das ist die Generation vor HD-Voice,
normale Gesprächsqualität) sowie ulaw (ob das von Telekom unterstützt wird, weiß ich nicht, da es immer schon
vorher eine Einigung auf G722 gibt).&lt;&#x2F;p&gt;
&lt;p&gt;Bei Problemen lohnt es sich immer mal, auf der Asterisk Kommandozeile den SIP-Logging einzuschalten. Für PJSIP geht das
mit dem Befehl &lt;code&gt;pjsip set logger on&lt;&#x2F;code&gt;. Dabei ist zu beachten, dass es bei mehreren Rufnummern durchaus einige
Logging-Meldungen gibt, so dass entsprechende Meldung erst zugeordnet werden müssen.
Sobald man die gewünschten Informationen hat, kann das Logging mit &lt;code&gt;pjsip set logger off&lt;&#x2F;code&gt; wieder beendet werden.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Asterisk - Konfig Sipgate</title>
        <published>2024-06-16T00:00:00+00:00</published>
        <updated>2024-06-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/asterisk/sipgate-config-crypted/"/>
        <id>https://blog.dohdom.de/asterisk/sipgate-config-crypted/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/asterisk/sipgate-config-crypted/">&lt;p&gt;Bei der Konfiguration für Sipgate habe ich mich für den Weg über die &lt;strong&gt;pjsip_wizard.conf&lt;&#x2F;strong&gt; Datei entschieden.
Dieser Weg ist etwas übersichtlicher als die klassische PJSIP-Konfiguration.&lt;&#x2F;p&gt;
&lt;p&gt;Als erstes müssen wir einen eigenen Transport erstellen (das sollte man bei TLS für jede registrierte Rufnummer &#x2F;
jedes registrierte Konto machen). Diese habe ich in eine eigene Datei ausgelagert und &lt;strong&gt;pjsip-tls-transports.conf&lt;&#x2F;strong&gt;
genannt. Diese Datei muss dann in der &lt;strong&gt;pjsip.conf&lt;&#x2F;strong&gt; eingebunden werden mittels dem Befehl &lt;code&gt;#include pjsip-tls-transports.conf&lt;&#x2F;code&gt;.
Der Inhalt sieht wie folgt aus, das lokale Netz mit local_net ist natürlich anzupassen, ggf.
auch der Pfad zur Datei, die sämtliche ca-Zertifikate enthält:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[transport-sipgate-tls]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type = transport&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;protocol = tls&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;bind = 0.0.0.0:0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;local_net=192.168.2.0&#x2F;24&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ca_list_file = &#x2F;etc&#x2F;ssl&#x2F;certs&#x2F;ca-certificates.crt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;method = tlsv1_2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;verify_server = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;allow_reload = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;tos = 0xb8&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;cos = 3&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Die Datei &lt;strong&gt;pjsip_wizard.conf&lt;&#x2F;strong&gt; wurde für sipgate um folgendes ergänzt:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[trunk_defaults](!)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type = wizard&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sends_auth = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sends_registrations = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;allow_subscribe = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;allow = !all,g722,alaw&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;rewrite_contact = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;rtp_symmetric = true&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;direct_media = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;language = de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;aor&#x2F;qualify_frequency = 30&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;registration&#x2F;expiration = 1800&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Dieser Abschnitt ist ein sogenanntes Template (oder eine Vorlage), auf der man sämtliche
anderen Konten aufbauen kann, ohne sich mit den Anweisungen wiederholen zu müssen.
Erkennbar ist dies an dem (!) hinter der Konfigurations-Definition.&lt;&#x2F;p&gt;
&lt;p&gt;Nachfolgend die Konfiguration für ein sipgate-Konto. Die Kontodaten müssen natürlich angepasst werden,
ebenso der entsprechende Kontext, in dem ankommende Gespräche abgefangen werden sollen.
Die benutzten Server-Bereiche in der Identify-Sektion konnte ich den Hilfeseiten von Sipgate entnehmen.
Zu beachten ist, dass ankommende Gespräche in die s-Extension fallen, sobald das Konto über
den PJSIP-Wizard erstellt worden ist. Ob man dies gezielt ändern kann, weiß ich nicht.
Die Sipgate-Konfiguration &quot;erbt&quot; die Einstellungen des Abschnitts trunk_defaults&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;;==== sipgate Config ====&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[sipgate](trunk_defaults)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;transport = transport-sipgate-tls&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;context = sipgate-in&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;remote_hosts = sipgate.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;accepts_registrations = no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;send_rpid = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;send_pai = yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;from_user = sipgate-benutzername&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;from_domain = sipgate.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;client_uri_pattern = sip:sipgate-benutzername@sip.sipgate.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;server_uri_pattern = sip:sip.sipgate.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;contact_pattern = sip:sipgate.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;force_rport = true&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;incoming_call_offer_pref = remote&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;outbound_auth&#x2F;username = sipate-benutzername@sipgate.de&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;outbound_auth&#x2F;password = sipgate-sip-passwort&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;outbound_proxy = sip:sip.sipgate.de\;lr&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;aor&#x2F;outbound_proxy = sip:sip.sipgate.de\;lr&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;registration&#x2F;outbound_proxy = sip:sip.sipgate.de\;lr&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;identify&#x2F;match = 217.10.64.0&#x2F;20,217.116.112.0&#x2F;20,212.9.32.0&#x2F;19&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;disallow = all&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;allow = g722,ulaw,alaw&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;endpoint&#x2F;media_encryption = sdes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Wie man erkennen kann, ist die Medien-Verschlüsselung mittels sdes aktiviert.
Mit dieser Konfiguration sollte es nun möglich sein, Transport- und Gesprächsverschlüsselung
über sipgate einzurichten. ACHTUNG: Die Gesprächsverschlüsselung gilt nur bis zum Endpunkt bei
sipgate. Es ist noch keine Ende-zu-Ende Verschlüsselung!!!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Vorstellung Asterisk</title>
        <published>2024-06-13T00:00:00+00:00</published>
        <updated>2024-06-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/asterisk/mein-asterisk/"/>
        <id>https://blog.dohdom.de/asterisk/mein-asterisk/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/asterisk/mein-asterisk/">&lt;h3 id=&quot;eigenschaften-meines-asterisk-servers&quot;&gt;Eigenschaften meines Asterisk Servers:&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Verbindung zu 2 weiteren Asterisk Instanzen via IAX2 Protokoll&lt;&#x2F;li&gt;
&lt;li&gt;integrierte Blacklist zur Abwehr von Spam Anrufen, Hinzufügen oder Löschen von Nummern per Kurzwahl möglich (PIN-geschützt)&lt;&#x2F;li&gt;
&lt;li&gt;&quot;Sonderbehandlung&quot; für erkannte SPAM-Anrufe&lt;&#x2F;li&gt;
&lt;li&gt;Ein Testfax kann mit einer Kurzwahl an eine beliebige Nummer geschickt werden&lt;&#x2F;li&gt;
&lt;li&gt;ein Fax kann per eMail geschickt werden (PDF oder PNG&#x2F;JPG möglich)&lt;&#x2F;li&gt;
&lt;li&gt;2 feste aussenliegende Nebenstellen sowie mobile Nebenstellen&lt;&#x2F;li&gt;
&lt;li&gt;teilweise Integration in meine Heimautomation mit FHEM&lt;&#x2F;li&gt;
&lt;li&gt;Benachrichtigungen mittels XMPP über entgangene Anrufe und erhaltene SPAM-Anrufe&lt;&#x2F;li&gt;
&lt;li&gt;Transport- und Gesprächsverschlüsselung zu Sipgate und Deutsche Telekom Trunks&lt;&#x2F;li&gt;
&lt;li&gt;Morsetrainer&lt;&#x2F;li&gt;
&lt;li&gt;diverse Radiostreams und Podcasts&lt;&#x2F;li&gt;
&lt;li&gt;Wettervorhersage anhand der Postleitzahl&lt;&#x2F;li&gt;
&lt;li&gt;testweise Kurzwahlen zu xmpp-Adressen für Audiocalls&lt;&#x2F;li&gt;
&lt;li&gt;Anbindung von sip2sip und antisip&lt;&#x2F;li&gt;
&lt;li&gt;Blindentelefon (seit 27.02.2026)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Einbindung in die Heimautomation</title>
        <published>2024-05-18T00:00:00+00:00</published>
        <updated>2024-05-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/balkonkraftwerk/fhem-start/"/>
        <id>https://blog.dohdom.de/balkonkraftwerk/fhem-start/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/balkonkraftwerk/fhem-start/">&lt;p&gt;Nach einiger Bastel- und Programmierarbeit bin ich mit dem derzeitigen Stand
meiner Auswertemöglichkeiten doch recht zufrieden. Mir ist es gelungen, nicht
nur die Einspeisung ins Hausnetz zu monitoren, sondern auch den Ladezustand der Solarbank,
die Solareinspeisung und die Abgabe an den Wechselrichter zu erfassen.&lt;&#x2F;p&gt;
&lt;p&gt;Das Ganze fliesst in meiner Heimautomation &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;fhem.de&#x2F;fhem_DE.html?target=_blank&quot;&gt;FHEM&lt;&#x2F;a&gt;
zusammen und sieht so aus:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;balkonkraftwerk&#x2F;fhem-start&#x2F;fhem-balkon.png&quot; alt=&quot;fhem-balkon&quot; title=&quot;fhem-balkon&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;balkonkraftwerk&#x2F;fhem-start&#x2F;fhem-stromzaehler.png&quot; alt=&quot;fhem-stromzaehler&quot; title=&quot;fhem-stromzaehler&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;balkonkraftwerk&#x2F;fhem-start&#x2F;fhem-statistik.png&quot; alt=&quot;fhem-statistik&quot; title=&quot;fhem-statistik&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Zusätzlich gibt es jeden Tag um 22:00 Uhr (natürlich per &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;xmpp&quot;&gt;XMPP&lt;&#x2F;a&gt;)
eine Energiebilanz für den Tag, woraus auch der Nettoertrag sowie der Monatsertrag ersichtlich wird.&lt;&#x2F;p&gt;
&lt;p&gt;Jetzt darf noch ein bisschen mehr die Sonne scheinen und dann ist das Projekt zuerst einmal abgeschlossen.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.dohdom.de&#x2F;balkonkraftwerk&#x2F;fhem-start&#x2F;xmpp-bilanz.jpg&quot; alt=&quot;xmpp-bilanz&quot; title=&quot;Energiebilanz&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Speicher reintegriert</title>
        <published>2024-04-03T00:00:00+00:00</published>
        <updated>2024-04-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/balkonkraftwerk/speicher-reintegriert/"/>
        <id>https://blog.dohdom.de/balkonkraftwerk/speicher-reintegriert/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/balkonkraftwerk/speicher-reintegriert/">&lt;p&gt;Nachdem mir die Tiefenentladung der Solarbank im Winter keine Ruhe
gelassen hat und auch noch zusätzlich laut Anker App ein Firmware Update
anstand, habe ich den Speicher doch früher als geplant wieder in mein
System reintegriert. Nachdem mit der alten Firmware der Speicher trotz 1 Tag
Niedrigladung (mit ca. 30W) auf 0% blieb, half ein kurzer Blick ins Internet
und ein gewagter Reset (beide Knöpfe der Powerbank mind. 15 Sekunden drücken)
... und schon änderte sich die Ladezahl. Im WLAN ist der Speicher trotz Reset geblieben.&lt;&#x2F;p&gt;
&lt;p&gt;Jetzt konnte ich das Firmware Update einspielen. Dabei habe ich die Erfahrung gemacht, dass
die Anker App sowohl Bluetooth als auch Standort Zugriff braucht und dass das Smartphone
nicht wie beschrieben so nah wie möglich an die Solarbank gebracht wird, sondern es mit ca.
30 - 50cm Abstand wesentlich besser funktionierte. Insgesamt brauchte ich 2 Anläufe,
aber dann war die neue Firmware installiert.&lt;&#x2F;p&gt;
&lt;p&gt;Nach der Installation der Firmware zeigte mein Speicher allerdings wieder 0% Ladung.
Beim nächsten Ladezyklus konnte ich den Ladezustand dann aber wachsen sehen (danke liebe Sonne).&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Bisherige Erkenntnisse des Ladeverhaltens der Solarbank&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Bei Solar-Einspeisungen bis ca. 50 Watt geht die komplette Energie in die Solarbank.&lt;&#x2F;li&gt;
&lt;li&gt;Bei Solar-Einspeisungen bis ca. 150 Watt geht die komplette Energie ins Hausnetz, die Solarbank lädt gar nicht.&lt;&#x2F;li&gt;
&lt;li&gt;Bei Solar-Einspeisungen größer 200 Watt wird die Energie aufgeteilt, das Prinzip ist noch unklar, ich habe Ladeleistungen
zwischen 30W und 300 Watt gesehen, evtl. hängt das von dem momentanen Batteriestand ab.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Bisherige Erkenntnisse zum Entladeverhaltens der Solarbank&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;leider hat es Anker immer noch nicht geschafft, eine Entladeleistung &amp;lt; 150W auf die Beine zu stellen, sehr traurig&lt;&#x2F;li&gt;
&lt;li&gt;bei Abgabe von 150W über 3 Stunden entlädt sich die Batterie um ca. 20% (gemessen von 40% auf 19%)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Allgemein kann ich aber jetzt schon sagen (so wie voriges Jahr schon festgestellt), dass mir Anker
zu wenig Optionen bietet, das Lade-&#x2F;Entladeverhalten feinkörniger zu steuern.
Eine Mindestentladung von 150W halte ich persönlich für zu hoch, um nur die Grundlast abzudecken
(was nachts, wo der Speicher ja hauptsächlich gebraucht wird, meistens der Fall ist).&lt;&#x2F;p&gt;
&lt;p&gt;Auch der &quot;Energienutzungsplan&quot; ist mir viel zu unflexibel. Normalerweise müsste ich jeden Tag die
App anpacken, schauen, wieviel im Speicher ist, und demnach meinen Plan ändern. Sehr unflexibel
und auch nicht wirklich automatisierbar. Da ist noch viel Luft zum Nachbessern.&lt;&#x2F;p&gt;
&lt;p&gt;Als nächstes erfolgt die weitere Beobachtung und Optimierung der Heimautomation
(und des Benutzerverhaltens) um möglichst wenig Energie wieder an den Betreiber zurück zu verschenken.&lt;&#x2F;p&gt;
&lt;p&gt;Bei Balkonkraftwerken wird dieses nämlich im Allgemeinen nicht vergütet.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Solarmodule</title>
        <published>2024-03-30T00:00:00+00:00</published>
        <updated>2024-03-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/balkonkraftwerk/module/"/>
        <id>https://blog.dohdom.de/balkonkraftwerk/module/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/balkonkraftwerk/module/">&lt;p&gt;Jetzt ist es endlich soweit: Nachdem die passende Halterung gefunden wurde,
konnten die beiden Solarpanels in ihre endgültige Position gebracht werden.
Das ging gut, auch wenn es etwas gedauert hatte.
So einfach wie ein Bild aufhängen ist es allerdings nicht.&lt;&#x2F;p&gt;
&lt;p&gt;Die nächste Woche werde ich jetzt erst einmal die Ertragsänderung beobachten
und mich darüber freuen (solange es das Wetter zulässt), danach erfolgt die
(Re)Inegration des Speichers ... jetzt erstmal das Ganze analysieren und optimieren.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Demoautomat - Rasppi Tausch</title>
        <published>2024-03-23T00:00:00+00:00</published>
        <updated>2024-03-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/elektronik/demoautomat/rasppi-tausch/"/>
        <id>https://blog.dohdom.de/elektronik/demoautomat/rasppi-tausch/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/elektronik/demoautomat/rasppi-tausch/">&lt;p&gt;Heute habe ich das &quot;Herz&quot; der Schaltung, den Raspberry Pi 1B gegen einen
Raspberry Pi Zero W ausgetauscht. Der Vorteil: durch den gleichen Chipsatz brauchte
kein neues System auf eine neue SD-Karte aufgespielt werden, die Konfigurationen
konnten 1:1 übernommen werden.&lt;&#x2F;p&gt;
&lt;p&gt;Und jetzt kann der Raspberry Pi via WLAN angebunden werden. Das Fallback
funktioniert über eine USB-Netzwerkkarte.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;elektronik&#x2F;demoautomat&#x2F;rasppi-zero-w.jpg&quot; alt=&quot;rasppi-zero-w&quot; title=&quot;Testaufbau mit Rasppi Zero W&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Balkonkraftwerk - Formalitäten</title>
        <published>2024-03-11T00:00:00+00:00</published>
        <updated>2024-03-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/balkonkraftwerk/formalitaeten/"/>
        <id>https://blog.dohdom.de/balkonkraftwerk/formalitaeten/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/balkonkraftwerk/formalitaeten/">&lt;p&gt;Hier bedarf es 2 Anmeldungen. Die erste erfolgt beim lokalen Netzbetreiber
(in meinem Falle der Syna), die zweite erfolgt bei der Bundesnetzagentur
im sogenannten Marktstammdatenregister. Beides geht recht problemlos.
Bei mir bestand die Syna darauf, einen 2-Richtungs-Zähler einzubauen
(allerdings ohne Mehrkosten zum bisherigen digitalen Zähler,
der auch schon beide Richtungen anzeigen konnte, allerdings nur in Summe).&lt;&#x2F;p&gt;
&lt;p&gt;Nachtrag vom 16.05.2026: Mittlerweile ist keine Anmeldung mehr beim lokalen
Netzbetreiber erforderlich, die Meldung im Marktstammdatenregister soll auch
einfacher geworden sein und ist die einzige Anmeldung, die noch
erforderlich ist.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Anfangs Ertrag</title>
        <published>2024-03-10T00:00:00+00:00</published>
        <updated>2024-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/balkonkraftwerk/ertrag-1/"/>
        <id>https://blog.dohdom.de/balkonkraftwerk/ertrag-1/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/balkonkraftwerk/ertrag-1/">&lt;p&gt;Da die Module zur Zeit noch mehr als suboptimal positioniert sind,
kann ich (noch) keine verlässlichen Angaben hierzu machen. Bisher gelang
es mir &quot;lediglich&quot;, eine Maximalleistung von etwas über 200W zu erzielen.
Gemessen wird das Ganze am Einspeisepunkt mit einem Shelly Leistungsmesser.
Das war witzigerweise in der kälteren Jahreszeit.&lt;&#x2F;p&gt;
&lt;p&gt;Jetzt, wo die Sonne wieder höher steigt, habe ich noch mit zusätzlicher
Verschattung zu kämpfen, wodurch ich die 200W Peak zur Zeit nicht mehr erzielen kann.&lt;&#x2F;p&gt;
&lt;p&gt;Die bisherige maximale Ausbeute von einem Tag lag bei 0,45 kWh ... laut Werbung des
Herstellers sollen bis zu 400 kWh pro Jahr möglich sein. Da ist noch VIEL Luft nach oben.&lt;&#x2F;p&gt;
&lt;p&gt;Die anfänglichen Versuche mit dem Speicher habe ich im Moment abgebrochen, da bei der kleinen
Ausbeute sich der Speicher im Moment nicht lohnt. Die ganze erzeugte Energie wird nämlich
dann nur dazu gebraucht, den Speicher zu laden. Das wird sich jetzt mit zunehmender
Helligkeit und dem optimalen Platz für die Solarpanels (hoffentlich) ändern.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Anfangsschwierigkeiten</title>
        <published>2024-03-09T00:00:00+00:00</published>
        <updated>2024-03-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/balkonkraftwerk/hindernis/"/>
        <id>https://blog.dohdom.de/balkonkraftwerk/hindernis/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/balkonkraftwerk/hindernis/">&lt;p&gt;Das größte Hindernis welches zur Zeit immer noch besteht ist,
dass es so gut wie keine Halterungen für die Solarmodule gibt,
welche an einem &quot;normalen&quot; Balkon, bestehend aus reiner Brüstung
&lt;strong&gt;ohne&lt;&#x2F;strong&gt; Handlauf und von außen einer &quot;nackten Wand&quot; ähnelnd,
zu bekommen sind.&lt;&#x2F;p&gt;
&lt;p&gt;Nach intensiver Suche sind wir zwar bei einer Firma fündig geworden,
leider passen die Abmaße aber nicht zu unseren Solarmodulen. Es wird
wohl eine Eigenbaulösung werden, und ich versuche, hier darüber zu berichten.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Balkonkraftwerk - Start</title>
        <published>2024-03-09T00:00:00+00:00</published>
        <updated>2024-03-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/balkonkraftwerk/start/"/>
        <id>https://blog.dohdom.de/balkonkraftwerk/start/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/balkonkraftwerk/start/">&lt;h2 id=&quot;meine-konfiguration&quot;&gt;Meine Konfiguration&lt;&#x2F;h2&gt;
&lt;p&gt;Hier möchte ich meine gesammelten Erfahrungen mit meinem Balkonkraftwerk weitergeben,
um anderen Leuten Mut zu machen, dieses Projekt auch in Angriff zu nehmen (oder auch nicht)?!&lt;&#x2F;p&gt;
&lt;p&gt;Gekauft wurde das Balkonkraftwerk Ende September 2023. Das Komplettset besteht aus 2 Glas-Glas Modulen
(je ca. 25 kg Lebendgewicht) der Firma Jolywood Typ JW-HD108N-420W mit je 420W Peak Leistung,
einem Hoymiles Wechselrichter HMS 800W (max. 800 Watt, Ausgangsleistung einstellbar)
sowie einem Speicher der Firma Anker, Typ Solix Solarbank mit 1,6 kWh Speicherkapazität.&lt;&#x2F;p&gt;
&lt;p&gt;Nach einiger Beobachtungszeit muss ich hier noch hinzufügen, dass ich die beste Sonneneinstrahlung
erst ab ca. 11:45 Uhr bekomme und am späten Nachmittag bzw. Abends mit 1 Verschattungen durch einen
Baum zu kämpfen habe. Dies muss natürlich bei den Erträgen mit berücksichtigt werden.&lt;&#x2F;p&gt;
&lt;p&gt;Trotzdem bin ich jetzt, nach gut 1,5 Monaten im &quot;Endausbau&quot; doch schon recht zufrieden.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Transports</title>
        <published>2024-02-18T00:00:00+00:00</published>
        <updated>2024-02-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/xmpp/transports/"/>
        <id>https://blog.dohdom.de/xmpp/transports/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/xmpp/transports/">&lt;p&gt;XMPP bietet die Möglichkeit, mit Hilfe sogenannter &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;de.wikipedia.org&#x2F;wiki&#x2F;XMPP-Transport&quot;&gt;Transports&lt;&#x2F;a&gt;
Nachrichten in andere (meistens proprietäre) Netze wie z. B. WhatsApp, Telegram, Signal, etc. senden und
empfangen zu können. Die Einrichtung dieser Möglichkeit ist im Nachfolgenden beschrieben.&lt;&#x2F;p&gt;
&lt;p&gt;Es gibt aktuell zwei große Softwares, die diese Transporte ermöglichen:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;spectrum.im&#x2F;documentation&#x2F;about.html&quot;&gt;Spectrum2&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;slidge.im&#x2F;&quot;&gt;Slidge&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Diese &lt;em&gt;können&lt;&#x2F;em&gt; selber gehostet werden, müssen es aber nicht. Ein öffentlicher XMPP-Provider, welcher beide
Transports anbietet, ist z. B. &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;jabber.hot-chilli.net&quot;&gt;hot-chilli.im&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;voraussetzungen&quot;&gt;Voraussetzungen&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;ein Benutzerkonto des jeweiligen Netzes (z. B. Telegram)&lt;&#x2F;li&gt;
&lt;li&gt;ein (angemeldeter) Client des jeweiligen Zielnetzes&lt;&#x2F;li&gt;
&lt;li&gt;ein (beliebiger) XMPP Client, für Spectrum2 muss dieser ad-hoc Kommandos unterstützen&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;so-geht-es-los&quot;&gt;so geht es los&lt;&#x2F;h3&gt;
&lt;p&gt;Um herauszufinden, ob ein XMPP-Provider Transports anbietet, und wenn ja, welche,
kann man mit Hilfe eines entsprechenden XMPP Clients wie z. B. &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;gajim.org&quot;&gt;Gajim - grafisch&lt;&#x2F;a&gt;
oder &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;profanity-im.github.io&#x2F;&quot;&gt;profanity - konsolenbasiert&lt;&#x2F;a&gt; eine so genannte
&quot;Service Discovery&quot; (disco) durchführen.&lt;&#x2F;p&gt;
&lt;p&gt;Bei profanity lautet der entsprechende Befehl, um den Server von hot-chilli.net zu durchsuchen:&lt;br &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&#x2F;disco items hot-chilli.net&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;und es erscheinen (unter anderem) folgende Zeilen:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;whatsapp.jabber.hot-chilli.net, (Hot-Chilli WhatsApp Transport)                  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;whatsapp.hot-chilli.im, (Hot-Chilli WhatsApp Transport (Slidge Test))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Diese Adressen sollte man sich merken, da diese im Folgenden gebraucht werden, um den Transport nutzen zu können.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;und-jetzt&quot;&gt;... und jetzt?&lt;&#x2F;h3&gt;
&lt;p&gt;Die weitere Vorgehensweise hängt jetzt vom zu nutzenden Transport ab. Da die Benutzung von slidge aus meiner
Sicht einfacher ist, wird diese hier weiter beschrieben: &lt;br &#x2F;&gt;
Es wird ein 1:1 Chat im XMPP Client geöffnet, und zwar zur oben gezeigten Adresse (im Beispiel whatsapp.hot-chilli.im).
Meistens erfolgt eine Warnung, dass das eine Domain ist und keine Chatadresse in der Form &lt;em&gt;name@provider.org&lt;&#x2F;em&gt;, das
kann man aber ignorieren. Sollte der gewählte XMPP Client dies nicht unterstützen, bleibt nur das Ausweichen auf einen
anderen Client. Die eigentliche Kommunikation erfolgt grundsätzlich unverschlüsselt.&lt;&#x2F;p&gt;
&lt;p&gt;Nun kann man entweder mit ad-hoc Kommandos weiterarbeiten (diese werden z. B. durch Gajim oder Monocles Chat unterstützt),
bei slidge hat man jedoch den Vorteil, dass man auch den normalen Chat nutzen kann. Gibt man hier z. B. &lt;code&gt;help&lt;&#x2F;code&gt; ein,
so erscheint ein kleines Hilfemenü und danach weiß man, dass man mit dem Befehl &lt;code&gt;register&lt;&#x2F;code&gt; sich am Gateway registrieren kann.&lt;&#x2F;p&gt;
&lt;p&gt;Das weitere Vorgehen hängt jetzt vom Zielnetz ab. Man wird vom slidge-Chat jedoch geleitet, was verlangt wird.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;aufbau-der-adressen-anhand-von-whatsapp-und-telegram&quot;&gt;Aufbau der Adressen anhand von WhatsApp und Telegram&lt;&#x2F;h3&gt;
&lt;p&gt;Grundsätzlich können Gruppen und Kontakte synchronisiert werden. Diese Kontakte erscheinen dann
in der Kontaktliste und brauchen nicht mehr, wie nachfolgend beschrieben, gesucht zu werden.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;whatsapp&quot;&gt;WhatsApp&lt;&#x2F;h4&gt;
&lt;p&gt;Die WhatsApp-Adressen sehen unter slidge in XMPP z. B. wie folgt aus: &lt;code&gt;+4915112341234@whatsapp.hot-chilli.im&lt;&#x2F;code&gt;
Dabei ist der erste Teil die Telefonnummer des Kontaktes bei WhatsApp, der Teil nach dem &quot;@&quot; entspricht der Transport-Domain.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;telegram&quot;&gt;Telegram&lt;&#x2F;h4&gt;
&lt;p&gt;Eine Telegram-Adresse für einen 1:1 Chat sieht in XMPP z. B. wie folgt aus: &lt;code&gt;321056789@telegram.hot-chilli.im&lt;&#x2F;code&gt;
Dabei ist die Nummer vor dem @ die ID des Chatpartners auf Telegram. Diese kann man mit z. B. mit Bots herausfinden.&lt;br &#x2F;&gt;
Eine Telegram-Adresse für einen Gruppenchat sieht in XMPP z. B. so aus: &lt;code&gt;group-1004567890123@telegram-hot-chilli.im&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
Hierbei entspricht die Nummer vor dem &quot;@&quot; der Gruppenchat Nummer.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;vor-und-nachteile-von-transports&quot;&gt;Vor- und Nachteile von Transports&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;vorteile&quot;&gt;Vorteile&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;es wird nur 1 Client benötigt, um in verschiedenen Netzen unterwegs zu sein&lt;&#x2F;li&gt;
&lt;li&gt;für die Gegenseite ist kein Unterschied zu sehen, dass die Kommunikation über ein Transport erfolgt&lt;&#x2F;li&gt;
&lt;li&gt;man kann auf mehreren Endgeräten die Nachrichten des Zielnetzwerkes empfangen&lt;&#x2F;li&gt;
&lt;li&gt;Transports können auch genutzt werden, um automatisiert Nachrichten an Empfänger zu schicken,
die in anderen Netzwerken zu Hause sind. Somit reicht es, sich mit der automatisierten Versendung
von Nachrichten über das XMPP Netzwerk auseinanderzusetzen&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;nachteile&quot;&gt;Nachteile&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;die Ende-zu-Ende Verschlüsselung (sofern aktiviert) geht durch den Transport verloren. Die Transportverschlüsselung ist davon unberührt&lt;&#x2F;li&gt;
&lt;li&gt;nicht alle Funktionen des Zielnetzwerks sind möglich (bedingt durch unterschiedliche Netzwerkaufbauten)&lt;&#x2F;li&gt;
&lt;li&gt;bei verschiedenen Netzen ist weiterhin ein Client des Zielnetzwerks für erneute
Identifikation erforderlich (z. B. bei WhatsApp in Form eines QR-Codes, der im WhatsApp Client eingescannt werden muss ca. alle 2-3 Wochen)&lt;&#x2F;li&gt;
&lt;li&gt;im Punkt Datenschutz gelten die gleichen Voraussetzungen wie im Zielnetzwerk&lt;&#x2F;li&gt;
&lt;li&gt;für die Anzahl der Accounts gelten die gleichen Voraussetzungen wie im Zielnetzwerk&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;personliches-fazit&quot;&gt;persönliches Fazit&lt;&#x2F;h4&gt;
&lt;p&gt;Wenn es unumgänglich ist, mit bestimmten Kommunikationspartnern über die (proprietären) Netze zu kommunizieren,
sind Transports ein gutes Mittel, um den Kontakt zu halten. Vorzuziehen wäre jedoch ein kompletter Umstieg auf das XMPP Netzwerk.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Demoautomat - 2024</title>
        <published>2024-02-13T00:00:00+00:00</published>
        <updated>2024-02-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/elektronik/demoautomat/zwischenstand/"/>
        <id>https://blog.dohdom.de/elektronik/demoautomat/zwischenstand/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/elektronik/demoautomat/zwischenstand/">&lt;p&gt;Softwaremäßig ist nun ein Stand erreicht, der locker ausreichen sollte, verschiedene
Vorträge zu füllen und an dem auch Einiges gezeigt werden kann.&lt;&#x2F;p&gt;
&lt;p&gt;Folgendes ist nun möglich:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;beim Start wird im Display die IP-Adresse des Rasppi angezeigt für wechselnde Netzwerkaufbauten&lt;&#x2F;li&gt;
&lt;li&gt;Ausgabe von Wetterdaten in einen XMPP Chatraum&lt;&#x2F;li&gt;
&lt;li&gt;Ansprechen des Displays mittels einem XMPP Chatraum (Mini Tweet)&lt;&#x2F;li&gt;
&lt;li&gt;Automatische Speicherung der Tweets inklusive Autor (nickname) in eine SQLite Datenbank&lt;&#x2F;li&gt;
&lt;li&gt;Abfrage der Datenbank (die letzten x Tweets sowie des &quot;Top Tweeters&quot;) mittels XMPP MUC&lt;&#x2F;li&gt;
&lt;li&gt;die LEDs können mit einem Befehl aus XMPP heraus gesteuert werden&lt;&#x2F;li&gt;
&lt;li&gt;beim Druck des Tasters wird in einem XMPP Chatraum eine Nachricht ausgegeben&lt;&#x2F;li&gt;
&lt;li&gt;Anzeige verschiedener Daten auf dem NodeRed Dashboard&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Folgende Software kommt zum Einsatz:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Betriebssystem: &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;dietpi.com&quot;&gt;DietPi&lt;&#x2F;a&gt; (Debian bookworm basiert)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.sqlite.org&quot;&gt;SQLite&lt;&#x2F;a&gt; Datenbank&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;nodered.org&quot;&gt;Node-Red&lt;&#x2F;a&gt; für die Verknüpfungen von und zu XMPP und
zur Datenbank sowie der Darstellung verschiedener Werte&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;fhem.de&#x2F;fhem_DE.html&quot;&gt;FHEM&lt;&#x2F;a&gt; als Backend zum Ansprechen des LCD Displays
und Anzeige der eigenen IP Adresse&lt;&#x2F;li&gt;
&lt;li&gt;für den Datentransfer wird das &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;xmpp.org&quot;&gt;XMPP-Protokoll&lt;&#x2F;a&gt; benutzt sowie
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;de.wikipedia.org&#x2F;wiki&#x2F;MQTT&quot;&gt;MQTT&lt;&#x2F;a&gt; zur Übertragung der Werte zwischen Node-Red und FHEM&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h5 id=&quot;probleme-todos&quot;&gt;Probleme &#x2F; TODOs&lt;&#x2F;h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;del&gt;das größte (und bisher einzige) Problem ist die unstabile XMPP-Implementierung bei NodeRed,
wodurch häufiger der NodeRed Dienst beendet wird. Ob das an der Hardware oder
der XMPP-Implementierung oder beidem liegt, bleibt noch zu klären&lt;&#x2F;del&gt; erledigt&lt;&#x2F;li&gt;
&lt;li&gt;TODO: Umlaute richtig auf dem LCD darstellen&lt;&#x2F;li&gt;
&lt;li&gt;&lt;del&gt;TODO: Aufbau eines kleinen Netzwerks mit Router, um unabhängig von verschiedenen Vor-Ort-Netzwerken zu sein&lt;&#x2F;del&gt; erledigt&lt;&#x2F;li&gt;
&lt;li&gt;&lt;del&gt;TODO: Gehäusebau für Raspberry Pi, Breadboard, LCD-Display, 3 LEDs und 1 Taster&lt;&#x2F;del&gt; erledigt&lt;&#x2F;li&gt;
&lt;li&gt;TODO: Gibt es mehr als 1 Top-Poster (mit gleich vielen Tweets) wird nur einer ausgegeben&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Demoautomat - Erweiterung I</title>
        <published>2024-02-06T00:00:00+00:00</published>
        <updated>2024-02-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/elektronik/demoautomat/fhem-lcd/"/>
        <id>https://blog.dohdom.de/elektronik/demoautomat/fhem-lcd/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/elektronik/demoautomat/fhem-lcd/">&lt;p&gt;Da LEDs alleine zwar schon schön, aber noch nicht cool sind, habe ich
noch ein 16x2 LCD Display via I²C-Bus an den Raspberry Pi angeflanscht.
Problem hierbei: Das Display lässt sich nicht direkt über NodeRed ansteuern.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;elektronik&#x2F;demoautomat&#x2F;testaufbau-rasppi.jpg&quot; alt=&quot;testaufbau-rasppi&quot; title=&quot;Testaufbau Raspberry Pi, LEDs auf Breadboard, LCD-Display&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Da wir ja auch die Möglichkeiten von Heim-Automation(en) zeigen möchten, entschied
ich mich, dass NodeRed die gewünschten Infos zuerst über MQTT herausgibt.&lt;&#x2F;p&gt;
&lt;p&gt;Da FHEM mittlerweile einen eingebauten MQTT-Server zur Verfügung stellen kann und
über FHEM die Ansteuerung des Displays ziemlich problemlos funktioniert, ist der
Rest des Weges bis zum Display in FHEM realisiert.&lt;&#x2F;p&gt;
&lt;p&gt;Damit ist es jetzt möglich, Mini-Tweets auf das Display über XMPP zu schicken.
Dabei ist die Logik so intelligent, dass sie den Nickname des Autors erkennt.
Eine Stromsparschaltung in Form eines &quot;watchdogs&quot; deaktiviert die Hintergrundbeleuchtung
automatisch nach 3 Minuten, es sei denn, vorher kommt ein neuer Tweet an.&lt;&#x2F;p&gt;
&lt;p&gt;Die Anschaltung mithilfe eines Pegelwandlers habe ich nach folgendem Tutorial realisiert:
&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;tutorials-raspberrypi.de&#x2F;hd44780-lcd-display-per-i2c-mit-dem-raspberry-pi-ansteuern&#x2F;&quot;&gt;Raspberry Pi Tutorial&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;elektronik&#x2F;demoautomat&#x2F;lcd-xmpp.jpg&quot; alt=&quot;lcd-xmpp&quot; title=&quot;lcd-xmpp&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Asterisk - Client Konfiguration</title>
        <published>2024-01-17T00:00:00+00:00</published>
        <updated>2024-01-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/asterisk/client-config-crypted/"/>
        <id>https://blog.dohdom.de/asterisk/client-config-crypted/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/asterisk/client-config-crypted/">&lt;p&gt;Mit der nachfolgenden Konstellation ist es mir gelungen, verschlüsselte Telefonate zu führen,
unabhängig vom angebundenen Netz (Mobilfunk, Heimnetz hinter NAT, Freifunk, lokales Netz)&lt;&#x2F;p&gt;
&lt;h3 id=&quot;vorbereitung&quot;&gt;Vorbereitung&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Portweiterleitungen im Router auf die IP des Asterisk-Servers
&lt;ul&gt;
&lt;li&gt;1 SIP-Port (TCP), der in der pjsip.conf unter Transport steht (hier: 5088)&lt;&#x2F;li&gt;
&lt;li&gt;pro Gespräch 2 UDP Ports für die Gesprächsdaten, diese sind in der rtp.conf anzugeben&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Zertifikate über let&#x27;s encrypt besorgen, um den Server über TLS ansprechen zu können&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;pjsip-conf&quot;&gt;pjsip.conf&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;1-transportverschlusselung-tls&quot;&gt;1. Transportverschlüsselung (TLS)&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[transport-tls]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type=transport&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;protocol=tls&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;bind=192.168.178.23:5088&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;cert_file=&#x2F;etc&#x2F;asterisk&#x2F;certs&#x2F;asterisk.cert&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;priv_key_file=&#x2F;etc&#x2F;asterisk&#x2F;certs&#x2F;asterisk.key&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;method=tlsv1_2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;local_net = 192.168.178.0&#x2F;24&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;local_net = 127.0.0.1&#x2F;32&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;external_media_address=123.234.123.23&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;external_signaling_address=123.234.123.23&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ul&gt;
&lt;li&gt;cert_file: Let&#x27;s encrypt Fullchain Datei für den DynDNS-Namen&lt;&#x2F;li&gt;
&lt;li&gt;priv_key_file: Let&#x27;s encrypt Key Datei für den DynDNS-Namen&lt;&#x2F;li&gt;
&lt;li&gt;bind: Adresse des Asterisk, gefolgt von dem Port, auf den Clients connecten sollen&lt;&#x2F;li&gt;
&lt;li&gt;local_net: Hier kommt das lokale Netz sowie das localhost Netz rein&lt;&#x2F;li&gt;
&lt;li&gt;external_*: die aktuelle externe IP-Adresse des Anschlusses, muss durch ein Script automatisch bei IP-Wechsel geändert werden&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;2-gesprachsverschlusselung-client-konfiguration&quot;&gt;2. Gesprächsverschlüsselung &#x2F; Client-Konfiguration&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;; ==== Templates ====&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[ext-srtp](!)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;media_encryption=sdes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;media_encryption_optimistic=yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;disallow=all&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;allow=g722,ulaw,opus&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;rewrite_contact=yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;direct_media=no&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;force_rport=yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;rtp_symmetric=yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Diese Vorlage wird für alle Clients, die nachher verschlüsselt arbeiten sollen, 1x erstellt&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;media_encryption: wir wollen RSTP mit SDES machen&lt;&#x2F;li&gt;
&lt;li&gt;media_encryption_optimistic: falls die Gegenseite keine Gesprächsverschlüsselung unterstützt, trotzdem verbinden ohne Gesprächs-Verschlüsselung&lt;&#x2F;li&gt;
&lt;li&gt;disallow, all: Hier kommen die Codecs rein, die die Clients nachher nutzen sollen, in der hier angegebenen Reihenfolge wird abgearbeitet (G722 zuerst, dann u-LAW, dann Opus)&lt;&#x2F;li&gt;
&lt;li&gt;rewrite_contact: Interne Adressen werden durch die externe ersetzt (wichtig für NAT)&lt;&#x2F;li&gt;
&lt;li&gt;direct_media: Clients können nur über Asterisk den Stream schicken, nicht untereinander&lt;&#x2F;li&gt;
&lt;li&gt;force_rport, rtp_symmetric: Nutze die in der rtp.conf angegebenen  RTP-Ports&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;3-rest-der-client-konfiguration&quot;&gt;3. Rest der Client-Konfiguration&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #D8DEE9; background-color: #2E3440;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;; ==== Teilnehmer ====&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[1000](ext-srtp)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type=endpoint&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;context=from-internal&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;callerid=&amp;quot;Tester 1&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;auth=1000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;aors=1000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[1000]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type=auth&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;auth_type=userpass&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;password=strenggeheim&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;username=1000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[1000]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;type=aor&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;max_contacts=2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Der Rest der Client-Konfiguration ist identisch zum nicht-verschlüsselten Client.
Dabei entspricht die 1000 der &quot;Nebenstellennummer&quot;. Wichtig ist, die Vorlage (ext-srtp) dahinter
zu setzen, damit das Template aus der vorherigen Sektion übernommen wird. Der Rest ist die
Authentifizierung sowie die Anzahl der maximal gleichzeitigen Registrierungen.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>Demoautomat - der Start</title>
        <published>2024-01-17T00:00:00+00:00</published>
        <updated>2024-01-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/elektronik/demoautomat/start/"/>
        <id>https://blog.dohdom.de/elektronik/demoautomat/start/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/elektronik/demoautomat/start/">&lt;p&gt;Auf der diesjährigen FrOSCon (2024) hat sich die &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;trolug.de&quot;&gt;TroLUG&lt;&#x2F;a&gt; vorgenommen,
auch präsent zu sein.&lt;&#x2F;p&gt;
&lt;p&gt;Mit diesem Projekt wollen wir zeigen, dass man Heim-Automation und
XMPP prima verknüpfen kann. Die Hardware Grundlage bildet ein Raspberry Pi,
3 LEDs in den Ampelfarben sowie ein Taster als Eingang.
Als Steuerprogramm haben wir uns für Node Red entschieden.&lt;&#x2F;p&gt;
&lt;p&gt;Jedes gute Projekt braucht erst mal eine Skizze für die Hardwareverdrahtung:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;elektronik&#x2F;demoautomat&#x2F;Schaltplan.jpg&quot; alt=&quot;Schaltplan&quot; title=&quot;Schaltplan&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="de">
        <title>(Android) Telefon Softclients</title>
        <published>2023-12-19T00:00:00+00:00</published>
        <updated>2023-12-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.dohdom.de/asterisk/softphones/"/>
        <id>https://blog.dohdom.de/asterisk/softphones/</id>
        
        <content type="html" xml:base="https://blog.dohdom.de/asterisk/softphones/">&lt;blockquote class=&quot;markdown-alert-note&quot;&gt;
&lt;p&gt;Diese Tabelle ist vom Stand 19.12.2023 und gibt meine persönlichen Erfahrung speziell
in Bezug auf die Transport- und Gesprächsverschlüsselung wider.&lt;&#x2F;p&gt;
&lt;p&gt;Den aktuellen Stand finde ich nicht sehr befriedigend.&lt;&#x2F;p&gt;
&lt;p&gt;Mein aktueller Favorit ist Sipnetic, vom GUI her ist Zoiper klar vorne,
aber für Verschlüsselung leider nur abgehend brauchbar.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: center&quot;&gt;&lt;strong&gt;Clientname&lt;&#x2F;strong&gt;&lt;&#x2F;th&gt;&lt;th&gt;&lt;strong&gt;Plattform&lt;&#x2F;strong&gt;&lt;&#x2F;th&gt;&lt;th&gt;&lt;strong&gt;Tauglichkeit &#x2F; Auffälligkeiten&lt;&#x2F;strong&gt;&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;Zoiper 2.22.3&lt;&#x2F;td&gt;&lt;td&gt;Android&lt;&#x2F;td&gt;&lt;td&gt;gut konfigurierbar, abgehende Gespräche funktionieren einwandfrei, ankommende Gespräche funktionieren gar nicht und werfen je nach Gegenseite unterschiedliche Fehlermeldungen. &lt;br &#x2F;&gt;Sobald die Gesprächsverschlüsselung entfernt wird, funktionieren beide Richtungen.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;SessionTalk 6.1&lt;&#x2F;td&gt;&lt;td&gt;Android&lt;&#x2F;td&gt;&lt;td&gt;Funktioniert ankommend und abgehend ohne Probleme, GUI ist Geschmackssache&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;Sipnetic&#x2F;1.0.52&lt;&#x2F;td&gt;&lt;td&gt;Android&lt;&#x2F;td&gt;&lt;td&gt;Anfangs hatte die Registrierung genau 1x funktioniert, danach nicht mehr, warum weiß ich nicht. Derzeit funktioniert sie wieder und es funktionieren abgehende und ankommende Gespräche. Schickeres GUI als SessionTalk. Läuft sowohl auf Handy als auch auf Tablet. Manchmal werden Gespräche nicht als beendet erkannt. Gut: Man erkennt auf Anhieb die Transportverschlüsselung und während des Gesprächs die Gesprächsverschlüsselung&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;LinPhone 5.1.4&lt;&#x2F;td&gt;&lt;td&gt;Android&lt;&#x2F;td&gt;&lt;td&gt;Trotz erfolgreichem Verbindungsaufbaus werden im Asterisk CLI Warnungen bzgl. des Zertifikat-Handshakes geworfen. GUI stark gewöhnungsbedürftig. Gut: In der rechten oberen Ecke sieht man während des Gesprächs, ob Verschlüsselung aktiviert ist&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;baresip+&lt;&#x2F;td&gt;&lt;td&gt;Android&lt;&#x2F;td&gt;&lt;td&gt;hier ist mir die Konfiguration nicht gelungen&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center&quot;&gt;&lt;&#x2F;td&gt;&lt;td&gt;&lt;&#x2F;td&gt;&lt;td&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
</content>
        
    </entry>
</feed>
