CallMeBot Signal
Beta HA-App 0.1.2 im gemeinsamen Repository mit Blocks for HA. Vollständig DE/EN/FR, Systemsprache und Hell/Dunkel/System. Eigenständige UGSo-Implementierung, inspiriert von ioBroker.signal-cmb.

Einrichtung
- Repository
https://github.com/rockbaer2007/ugso-ha-mqtt-addonsim HA-App-Store hinzufügen und CallMeBot Signal installieren. - MQTT in HA einrichten, App starten und Oberfläche über Ingress öffnen. Der interne MQTT-Dienst liefert bevorzugt die Zugangsdaten; App-Optionen dienen als Fallback.
- Den aktuellen Bot-Kontakt aus der offiziellen Signal-Aktivierungsanleitung verwenden. In Signal die dort angegebene Freischaltnachricht senden und den Signal-API-Schlüssel abwarten.
- Profil-ID, Anzeigename, eigene internationale Telefonnummer mit + oder Signal-UUID sowie den passenden Schlüssel speichern. Bei verborgener Telefonnummer kann der Bot eine UUID liefern. Den Wert aus dem Aktivierungslink unverändert übernehmen.
- Standardprofil wählen. „Nachricht senden“ sendet wirklich an das ausgewählte gespeicherte Profil.
WhatsApp-Schlüssel gelten nicht für Signal. Beide Apps können gleichzeitig laufen: getrennte Profile, MQTT-Themen, Client-IDs und Diagnose-Entitäten. Die WhatsApp-App behält ihre bisherigen technischen IDs.
Blockly und Profilauswahl
Seit Blocks for HA 0.1.50: Nachrichten → Signal · CallMeBot.

Profilfeld anklicken, nach Name/ID suchen und auswählen. Leer bedeutet Standardempfänger. Sichtbar ist der Name; gespeichert wird die Profil-ID. Text, Variable oder Jinja als Nachricht anschließen. Protokoll: nur Fehler, keins oder Info. Der Block erzeugt natives mqtt.publish; JSON wird nach der Template-Auswertung serialisiert.
Die App veröffentlicht einen Katalog auf ugso/callmebot_signal/profiles und per MQTT-Discovery die Diagnose-Entität sensor.ugso_callmebot_signal_profiles. Zustand: Profilanzahl. Attribute: IDs, Namen, Standardprofil und Quellenmarker, keine Telefonnummer, Nachricht oder Schlüssel. Blocks erkennt den Quellenmarker auch nach Umbenennung der Entität. Standard-Discovery-Präfix: homeassistant.
Bei fehlender Verbindung Profil-ID manuell eingeben oder leer lassen. Ungültige/gelöschte IDs werden nicht automatisch ersetzt. JSON-Projekte erhalten den Komfortblock; YAML-Import stellt den Versand als allgemeine HA-/MQTT-Aktion dar.
Protokoll und Grenzen
- Versand:
ugso/callmebot_signal/send, QoS 0, retain false. - Beispiel:
{"profile":"default","message":"Hallo aus HA","loglevel":"errors"}. Leeres Profil verwendet den Standardempfänger. - Ergebnis:
ugso/callmebot_signal/result, nicht retained, nur Profil, Anfrage-ID, Status und Zeit. - Katalog und Verfügbarkeit:
ugso/callmebot_signal/profilesundugso/callmebot_signal/availability, retained. Verfügbarkeit zeigt die Broker-Verbindung. - Maximal 16 Profile, 4000 Zeichen, Warteschlange 20, mindestens 10 Sekunden zwischen Versandversuchen je Profil. Schnellere Befehle werden abgelehnt.
- Optionale
request_id: eine Stunde Dublettenprüfung, maximal 1000 IDs. Keine automatischen Wiederholungen oder Wiedergabe nach Neustart; retained Befehle werden abgelehnt. - Eine Signal-App-Instanz pro Broker. Schreibrechte auf Versandthemen beschränken. Externe MQTT-TLS-Konfiguration ist nicht enthalten.
Diese App sendet Textnachrichten an eigene aktivierte Empfänger. Bilder, Gruppen und Antworten sind nicht implementiert. accepted bestätigt nur die API-Annahme. Empfänger, Schlüssel und Nachricht gehen per HTTPS an https://signal.callmebot.com/signal/send.php.
Schlüssel bleiben in der privaten Backend-Datei /data/profiles.json, werden nicht an Browser/MQTT/Blockly ausgegeben und nicht protokolliert. Die Datei ist nicht verschlüsselt und in HA-Backups enthalten; Backups entsprechend schützen.
Prüfstand
Backend, UUID-/Nummernvalidierung, MQTT-Protokoll, Blockly/Jinja-Export, DE/EN/FR und mobile Ansicht sind mit Testdaten geprüft. Echte Signal-Zustellung und Installation unter HA-Supervisor sind mit der eigenen Einrichtung zu prüfen. Automatisierte Tests senden keine echten Nachrichten.
Quellcode · Apache-2.0 · Unabhängiges Community-Projekt.
Beta: Historie, Profilsicherung und MQTT-TLS
Die Historie enthält bis zu 200 dauerhaft gespeicherte Einträge mit Zeitpunkt, Profil-ID, Quelle und Ergebnis. Filter nach Profil oder Fehlerstatus und bestätigtes Löschen sind verfügbar. Nachrichten, Telefonnummern, API-Schlüssel und Anfrage-IDs werden nicht in der Historie gespeichert. „Angenommen“ bestätigt weiterhin nur die Annahme durch CallMeBot, keine Zustellung. Bei Speicherfehlern wird der Versand nicht wiederholt.
Die Profilsicherung verschlüsselt Profile einschließlich Telefonnummern, API-Schlüsseln und Standardempfänger mit AES-GCM und einem aus dem Sicherungspasswort abgeleiteten Schlüssel (scrypt). Mindestens 12 Zeichen; Passwort separat aufbewahren. Es wird nicht gespeichert. Ohne Passwort ist keine Wiederherstellung möglich. Wiederherstellen ersetzt die Profile erst nach Bestätigung und erfolgreicher Prüfung; falsches Passwort, beschädigte Dateien oder Sicherungen der anderen CallMeBot-App ändern nichts. Bei wartenden Versandversuchen wird die Wiederherstellung abgewiesen. MQTT-Zugangsdaten und Historie sind nicht enthalten; für diese weiterhin die vollständige HA-App-Sicherung verwenden.
Unter MQTT-Verbindung bleibt „HA-Broker automatisch verwenden“ der bisherige Standard. Für einen externen Broker die Automatik deaktivieren und Host, Port, Benutzer und Passwort angeben. TLS prüft Zertifikat und Hostname; eigene CA und Client-Zertifikat/Schlüssel sind als PEM-Datei oder Text möglich. TLS-Port passend wählen, häufig 8883. Leere Geheimnisfelder behalten gespeicherte Werte. HA/Blocks müssen diesen Broker verwenden oder die Send-/Result-/Profil-/Discovery-Topics zwischen den Brokern weiterleiten; eine externe Verbindung allein ersetzt keine Broker-Bridge.
Bestehende profiles.json, Profile, Schlüssel, MQTT-Themen und Entitäts-IDs bleiben erhalten. Neue Historie: /data/history.json; ausdrücklich gespeicherte MQTT-Einstellungen: /data/mqtt.json. Die Konfiguration wird beim Update nicht automatisch umgeschrieben. Alle neuen Oberflächentexte sind DE/EN/FR.
Die Oberfläche und Beschreibung heißen Beta. Home Assistant unterstützt keinen nativen stage-Wert beta; der gültige technische Status experimental bleibt deshalb bestehen. HA-Konfiguration.
