Docker mit FHEM, MYSQL und SIGNAL

Begonnen von gotocu, 11 Juli 2023, 14:12:26

Vorheriges Thema - Nächstes Thema

ch.eick

Mit folgender Konfiguration sind die Meldungen jetzt weg.

  signal-mqtt:
    image: ckware/signal-mqtt
    restart: unless-stopped
    init: true
    user: "nobody:nogroup"
    environment:
      MQTT_PUBLISH_OPTIONS: "-h 192.168.178.60 -p 1883 -i signal-receiver"
      MQTT_SUBSCRIBE_OPTIONS: "-h 192.168.178.60 -p 1883 -i signal-sender"
    volumes:
      - "./signal-mqtt:/home/.local/share/signal-cli"

Es gibt auch bereits eine Verbindung im FHEM
Internals:
   BUF       
   FD         64
   NAME       MQTT2_FHEM_Server_172.18.0.5_47280
   NR         10016606
   PEER       172.18.0.5
   PORT       47280
   SNAME      MQTT2_FHEM_Server
   SSL       
   STATE      Connected
   TEMPORARY  1
   TYPE       MQTT2_SERVER
   WBCallback
   cflags     2
   cid        signal-sender
   keepalive  60
   lastMsgTime 1768244524.82839
   protoNum   4
   protoTxt   MQTT
   READINGS:
     2026-01-12 20:00:04   state           Connected
   subscriptions:
     signal/out/# 1768244404.73159
Attributes:
   room       hidden
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

#16
Puh, jetzt kommt das Koppeln

- Die Kopplung geht nur mit der Handy App
- man benötigt noch qrencode, da signal-cli beim Einrichten des Geräte Links nur eine URL im Docker Container ausgibt
  sudo apt-get install qrencode
- Um die URL in einen QR Code als Bild umzuwandeln benötigt man eine shell, da es gleich schnell gehen muss
- Ebenfalls muss das Bild später auf den PC im Bildertool angezeigt werden
  Ich verwende mobaxterm und kann dort einfach einen Datei download machen, der direkt das Bild anzeigt, was man mit der Signal App scannen muss
- Im Portainer muss der signal-mqtt Container gestoppt werden, da ansonsten für signal-cli die accounts.json gesperrt ist
- Dann mit dem Docker Kommando den container auf der shell mit der /bin/sh starten

sudo docker run -it --rm -v ./signal-mqtt:/home/.local/share/signal-cli ckware/signal-mqtt /bin/sh
  / # signal-cli link
sgnl://linkdevice?uuid=NmTlWhDNBAeR0LJRMnQvVA%3D%3D&pub_key=BfrXc5BXh8zXIm86ufMamLNehODDBH8rSUO1ADLvrktw
INFO  ProvisioningManagerImpl - Received link information from +49<Deine Nummer>, linking in progress ...
Associated with: +49<Deine Nummer>
/ #

Der ganze Vorgang läuft dann so ab, wenn alles vorbereitet ist:
- Im signal-mqtt das Link Kommando aufrufen
- Den sgnl Code komplett Kopieren
- Im zweiten shell Fenster folgendes Kommando aufrufen
  echo "sgnl://linkdevice?uuid=NmTlWhDNBAeR0LJRMnQvVA%3D%3D&pub_key=BfrXc5BXh8zXIm86ufMamLNehODDBH8rSUO1ADLvrktw" | qrencode -o qr.png
- Mit dem Tool der Wahl die Datei qr.png auf den PC Laden und im Bildertool das Bild anzeigen lassen
- Mit der Signal App auf dem Handy das Bild für die Kopplung verwenden
- Im signal-mqtt Container wird dann "Associated with: +49<Deine Nummer>" angezeigt

Erscheint jedoch "Link request error: Connection closed!" war man zu langsam und fängt wieder oben an :-)

Das Docker Verzeichnis des signal-mqtt Containers sollte dann so aussehen
ce@raspberrypi:/docker/fhem_2025/signal-mqtt/data $ ls -l
-rwx------ 1 nobody nogroup 1457 12. Jan 20:22 624839
drwx------ 2 nobody nogroup 4096 12. Jan 21:10 624839.d
-rw------- 1 nobody nogroup  180 12. Jan 17:15 accounts.json

Ich denke es geht dann morgen weiter, denn noch ist kein Device im FHEM erstellt worden.
VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick