FHEM - Hausautomations-Systeme > Unterstützende Dienste

Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli

(1/189) > >>

Adimarantis:
Hallo,

Signalbot ist eine Neuentwicklung eines Signal Messenger Moduls sehr ähnlich zu SiSi. Es ist parallel dazu entstanden und verfolgt intern ein paar andere Implementierungsansätze, verwendet aber letztendlich die selbe Kommunikationsschnittstelle (über DBus nach signal-cli).
Inzwischen habe ich auch einiges an Code und Ideen von SiSi und Telegrambot (danke die jeweiligen Autoren) übernommen und es gibt eine direkte Integration mit Babble.
Es gibt auch ein Installationsscript für Ubuntu and Raspbian, was Einsteigern die Verwendung erleichtern soll (die Installation von signal-cli hat seine Tücken).

Bitte alles weitere der dem Wiki unter https://wiki.fhem.de/wiki/Signalbot entnehmen oder in die Commandref (nur englisch) schauen.

Gruß,
Jörg

enno:
Moin Jörg,

bei einen Neustart kommt FHEM bei mir nicht mehr hoch. Es bricht mit dieser Zeile ab:


--- Code: ---Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/50_Signalbot.pm line 463.
--- Ende Code ---

Wenn ich in der fhem.cfg das Device auskommentiere, starte FHEM wieder. Wenn ich das Device dann mit
--- Code: ---defmod SIGNAL Signalbot
attr SIGNAL DbLogExclude .*
attr SIGNAL defaultPeer #Smarthome
attr SIGNAL devStateIcon .*Connected:ios-on-green .*Disconnected:ios-NACK
attr SIGNAL group 00 Adapter
attr SIGNAL room 75 SIGNAL,SYSTEM

setstate SIGNAL Connected
--- Ende Code ---
anlege läuft FHEM normal und alles ist gut. Wenn ich neu starte hängt es wieder. Hast du eine Idee, woran das liegen könnte?

Gruss
  Enno

Adimarantis:
Hallo Enno,

Den Effekt kann ich bei mir nicht nachvollziehen. Eventuell eine race condition weil dein System schneller ist.
Ich habe jetzt noch einen Test eingebaut der verhindert, dass die entsprechende Funktion aufgerufen wird, falls FHEM noch nicht vollständig oben ist (wobei das eigentlich gar nicht passieren sollte). Probier mal das update im ersten Post.

Jörg

Adimarantis:
Habs gefunden. Mich hatte irritiert dass der Fehler bei dir beim Startup kam. Du scheinst da sofort eine Gruppen Message rauszuballern.
Das Problem trat auf wenn eine Gruppennachricht an eine unbekannte Gruppe (nach einem Neustart erstmal alle) verschickt wird.
Update oben.

Gruß,
Jörg

Adimarantis:
Ich hatte gestern noch ein wenig mit Babble herumexperimentiert und mal testweise einen direkten Support dafür eingebaut.

Vorgehensweise:
Attribut babblePeer: Nur wenn die Message von diesem Sender kam wird Babble angeworfen
Attribut babbleDev: Der Name der definierten babble Device (nicht babbleDevice, weil es sonst einen Konflikt mit dem Babble Attribut gibt) - Todo: da es normalerweise nur ein Device gibt, könnte Signalbot das evtl. sogar selbst finden

Beispiel Config:
Device "out_temp" mit babbleDevice="Temperatur", room="Draußen", verb="Sagen", Ziel="Status", Aktion="set SignalBot send @$PARM0 Die Temperatur draußen ist [out_temp:temperature] Grad"

Frage: "Wie ist die Temperatur Draußen"
Antwort: "Die Temperatur draußen ist 1.0 Grad"

Die Antwort (in $PARM0) geht wahrscheinlich immer an den babblePeer (eigentlich an den Absender in der Prio Gruppe,Sender,babblePeer , aber das dürfte am Ende immer der babblePeer sein).
Damit Gruppen und Kontakte hier redundant verwendet werden können, akzeptiert Signalbot jetzt auch @#Gruppe als Gruppenamen (also wie bei SiSi). Ein einzelnes "#" geht natürlich immer noch.
Bekannte Probleme: Sonderzeichen (hier das "ß" gehen auf dem Weg über Babble irgendwie kaputt. Das ist evtl. noch eine Umwandlung notwendig.

Viel Spass bei Testen. Anregungen von erfahrenen Babble Nutzern willkommen.

Jörg

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln