TS-GatewayPTT für Linux» gestartet von andi99762 - 13.04.2025 18:01 ![]() ![]() ![]() ![]() |
26 Einträge auf 2 Seiten |
![]() ![]() |
#1 - 13.04.2025 18:01
Hallo Gateway-Freunde,
da mich immer wieder Anfragen erreichen, ob es auch ein Teamspeak-Gateway-Plugin für Linux gibt, habe Ich hier und jetzt für euch zum ausprobieren die erste BETA-Version der TS-GatewayPTT für Linux.
Die angehängte ZIP-Datei wird in das PLUGIN-Verzeichnis vom TS3-Client entpackt. (/home/<user>/.ts3client/plugins) Â
Enthalten ist das Plugin TS-GatewayPTT.so, ein Ordner der die config.ini, bake.wav sowie roger.wav enthält.
Einstellungen werden vor dem Plugin-Start in der config.ini gemacht.Â
Nach jeder Änderung an der Config muss das Plugin neu gestartet werden.
Rückmeldungen, Probleme, Wünsche könnt Ihr mir gerne schreiben.
73 von DO5ALF / Andreas0 angehängte Bilder 1 angehängte Dateien TS-GatewayPTT_Linux.zip » 2.08 MB 88 Download(s) zuletzt bearbeitet: 13.04.2025 / 18:06 MEZ
1Aktionen
#2 - 13.04.2025 18:32
Die Konfiguration kurz erklärt.
[TAB1], [TAB2], ...etc... => Sektion für verschiedene Tabs im Teamspeak-Client
GWON=[0/1] <= Gatewayfunktion aktiv in dem Tab
PORT=/dev/ttsS0Â <= COM-Port Device
TXRTS=[0/1] <= PTT-Ausgang am RTS-Pin
TXDTR=[0/1] <= PTT-Ausgang am DTR-Pin
RTS_INVERT=[0/1] <= PTT-Ausgang invertiert (RTS-Pin)
DTR_INVERT=[0/1] <= PTT-Ausgang invertiert (DTR-Pin)
CCTX=[0/1] <= ChannelCommander beim Senden
CCRX=[0/1] <= ChannelCommander beim Empfangen
TXDELAY=[0-1000] <= TX-Delay nach dem Sprechen
STICKY=[0/1] <= Gateway nicht verschieben
VOX_SET=[0/1] <= VOX-Input aktiv
VOX_LEVEL=[-50 - 50] <= VOX-Level am Eingang
Â1 angehängte Bilder
151.75 KB
1 angehängte Dateien TSGWLinux_Conf.png » 8.38 KB 40 Download(s) zuletzt bearbeitet: 13.04.2025 / 18:32 MEZ
0Aktionen
#4 - 23.04.2025 7:44
Hallo Andreas,
vielen vielen vielen dank für deine Großartige Mühe. Ich habe das jetzt mehere Tage testen können und habe dazu nichts zu bemängeln. Funktioniert hervorragend und wie erwartet.
Einen wunsch hätte ich allerdings noch. Wäre es möglich die Bake etwas genauer einzustellen, wie zB.:
- Das diese Bake erst ausgesendet wird keiner mehr spricht bzw. der Kanal "Frei" ist, zB.:
Dann würde die Bake erst senden, wenn die Frequenz und/oder Kanal frei ist (wenn nicht gesprochen wird).
Code
BAKEBUSY=1
- Das die Aussendung der Bake anhand einem Schema ausgesendet wird, wie zB.:
Bake wird nur zur vollen oder halben Stunde ausgesendet:
Code
BAKE_INTERVAL=0,30
oder Bake wird zur vollen, viertel, halben oder dreiviertel Stunde ausgesendet:
Code
BAKE_INTERVAL=0,15,30,45
oder Bake wird nur zur Minute 55 in jeder Stunde ausgesendet:
Code
BAKE_INTERVAL=55
oder Bake wird in diesen Zeitabständen zB. alle 30 Minuten ausgesendet: (minus Vorzeichen)
Code
BAKE_INTERVAL=-30
Ich habe zwar keine Ahnung von der Programmiersprache "Lua" aber in Java, PHP und Co würde ich das so lösen (Denkanreize):
Das Problem ist, wenn der Teamspeak 3 Client mit Plugin erst um 14:13 Uhr gestartet wird, geht die Bake bei der derzeitgen Einstellung von 30 Minuten, erst wieder um 14:43 oder 15:13 Uhr auf Sendung.
Eventuell könntest du uns den Quellcode offenlegen sodass wir gemeinsam daran arbeiten können.zuletzt bearbeitet: 23.04.2025 / 18:26 MEZ
0Aktionen
#5 - 23.04.2025 20:02
Hallo Maik,
die Einstellung der Bake werde Ich entsprechend berücksichtigen, aktuell bin ich daran die Einstellungen (wie bei der Windows-Variante) über ein Setup-Fenster zu realisieren, damit man nicht mehr manuell in der config.ini rumschreiben muss.
In der nächsten Version die ich veröffentliche wird das dann warscheinlich gleich mit so umgesetzt sein das die Bake entsprechend einzustellen ist.Â0Aktionen
#6 - 23.04.2025 20:17
Hallo Andreas,
wenn du meine ehrliche Meinung hören willst, würde ich lieber auf die GTK verzichten. Ich bin ein Freund von Konfigurationsdateien und dem "minimalistischem". Weniger ist manchmal einfach "mehr".
Aber das ist Geschmackssache. Danke das du dir die Zeit nimmst und das zur Verfügung stellst!zuletzt bearbeitet: 23.04.2025 / 20:18 MEZ
0Aktionen
#8 - 23.04.2025 20:34
Hallo Andreas,
das klingt doch super. Ansonsten fiel mir noch auf, wenn der Teamspeak 3 Client gestartet ist, jedoch nicht mit einem Server verbunden ist, sendet die Bake trotzdem. Ich glaube das sollte so nicht sein, oder?0Aktionen
#9 - 23.04.2025 21:47
Abonniert
Dominik aus H.
Registriert seit: 06.03.2007 letzter Login: 25.05.2025 12:10 Uhr Beiträge: 14 letzter Beitrag: 23.04.2025 22:19 Uhr Hallo zusammen,
im Anhang das Bild. Mit dem Befehl LS /dev /tty*.  So wie ich lese müsste das USB Interface ja erkannt werden und unter ttyUSB0 erreichbar sein.
Wenn ich in der config ändere:
Code
[TAB1]
GWON=1
PORT=/dev/ttyUSB0
TXRTS=1
TXDTR=0
RTS_INVERT=1
DTR_INVERT=0
CCTX=1
CCRX=0
TXDELAY=500
STICKY=0
VOX_SET=1
VOX_LEVEL=0
ROGER_WAV=roger.wav
ROGER_LEN=600
ROGER_ON=1
ROGER_VOL=-40
BAKE_ON=1
BAKE_WAV=bake.wav
BAKE_INT=20
BAKE_LEN=5000
BAKE_VOL=-10
Sollte es doch funktionieren oder mach ich hier was falsch?
Danke für die Rückmeldung.
73 de Speedfire Dominik1 angehängte Bilder
55.19 KB
1 angehängte Dateien WhatsApp Bild 2025-04-23 um 21.37.40_eefb2d2d.jpg » 284.35 KB 34 Download(s) zuletzt bearbeitet: 23.04.2025 / 21:49 MEZ
0Aktionen
#10 - 23.04.2025 21:55
@Dominik: die Adresse vom USB2COM-Adapter sieht erstmal so richtig aus. Im Client-Log vom TS3-Client kannst du sehen ob der Port geöffnet werden konnte, wenn nicht liegt es evtl. an den Zugriffsrechten.
@Maik: Aktuell wird der Connect-Status bei der Bakensendung nicht berücksichtigt. (d.h. Bake sendet auch wenn offline, da mach ich am besten einfach noch eine Config-Option mit rein dann kann das individuell eingestellt werden)zuletzt bearbeitet: 23.04.2025 / 22:03 MEZ
0Aktionen
#11 - 23.04.2025 22:19
Abonniert
Dominik aus H.
Registriert seit: 06.03.2007 letzter Login: 25.05.2025 12:10 Uhr Beiträge: 14 letzter Beitrag: 23.04.2025 22:19 Uhr ja hab gerade geschaut. PTT -Port: ERROR => /dev/ttyUSB0 kommt im Client Log.
Zugriffsrechte muss ich schauen, sind aber vergeben. mhhh0Aktionen
#12 - 23.04.2025 22:22
Ich schaue mal ob ich für die nächste Version noch den Error-Grund mit ausgeben kann, damit man erkennen kann warum der Port nicht geöffnet werden kann.0Aktionen
#13 - 4.05.2025 18:15
Darf ich mal nebenher fragen, ob ein Squelch-Signal über den COM-Port verarbeitet werden kann? Damit würden wir doh die VOX umgehen. Also SQL OFF = PTT ON ??? Evtl mit InvertFunktion?
VG
Carsten0Aktionen
#14 - 5.05.2025 6:12
Hallo Carsten,
bei der Windows-Version der TS-GatewayPTT ist das schon möglich,Â
hier bei Linux wird das zukünftig auch mit rein kommen.1Aktionen
#15 - 5.05.2025 6:37
Guten Morgen,
mir ist noch eine Sache bei dem Plugin aufgefallen. Wenn ich im SSB Modus schalte, höre ich im TS die Übertragung. Sobald ich die PTT Taste drücke, höre ich plötzlich nichts mehr, solange wie ich den TS Neustarte.
Ich habe noch einen Vorschlag für das Plugin:
- Es wäre super wenn man sich den Rogerpiep anhand eines in der Config vorher definierten Hz Tons aussuchen bzw. einstellen könnte. Zb.
Code
ROGER_ON=1
ROGER_USE_FILE=0
ROGER_FILE=roger.wav
ROGER_USE_TONE=1
# Hertz / Frequenz
ROGER_TONE=1200
# in Millisekunden
ROGER_TONE_LENGHT=800zuletzt bearbeitet: 5.05.2025 / 6:40 MEZ
0Aktionen
#16 - 5.05.2025 6:51
Hallo Maik,
auch hier kann Ich sagen das es eigentlich auch so angedacht war (bei der Windows-Version ist es zumindest so) das daß Plugin den Ton selbst generiert, anhand der vorgegebenen Tonfrequenz.
Beim ersten Versuch unter Linux hatte Ich das so noch nicht hin bekommen, daher hatte Ich erstmal auf die Notlösung mit vorgegebener WAV-Datei zurückgegiffen. Das Plugin ist die erste Programmierarbeit die Ich unter Linux mache. Die erste Beta war für mich sozusagen nur ein Test ob es überhaupt machbar und lauffähig ist.
*ABER*
Seit der Veröffentlichung habe Ich gut dazugelernt und probiert, experimentiert und denke das Ich inzwischen das Knowhow habe auch das generieren eines Sinus-Tons hin zu bekommen.
Ich bin aktuell dabei das Plugin grundlegend neu zu gestalten,... Man darf gespannt sein auf die nächste Version die rauskommt.0Aktionen
#18 - 6.05.2025 21:48
Hi Andy,
ich versuche grad den RTS-Pin zum Schalten zu bringen. Nach meinem Verständnis sollte doch die config.ini im Standard irgendeine Wirkung zeigen. Jedoch bleibt bei mir der Pin auf LOW (-12V).
Muss /dev/ttyS0 mit Rechten versehen werden? Mind. 666 oder besser 777? Und muss der Port in die dialout Gruppe?
VG
Carsten0Aktionen
#19 - 7.05.2025 5:59
Guten Morgen Carsten,
Wenn du in das Client-Log vom TS3-Client schaust findest du den Eintrag ob er den Zugrifft auf den Port hat oder nicht.
Wenn dort ein Fehler angezeigt wird, kann das an fehlenden Zugriffsrechten liegen.Â0Aktionen
#20 - 7.05.2025 14:39
Natürlich wie immer: Kaum macht man's richtig, schon funktioniert's!
Das Log zeigte PTT-Port: ERROR
Der User hatte sich irgendwie aus der dialout Gruppe verabschiedet. Also neu hinzugefügt.
sudo usermod -aG dialout User
Nun zeigt das Log PTT-Port: OK => /dev/ttyS0, auch nach Neustart. RTS schaltet nun von LOW (-12V) auf HIGH (+12V) bei PTT.
Danke für den Hinweis & VG
Carsten1Aktionen
#21 - 23.05.2025 18:17
Hi Andreas,
ich hätte da eine vorsichtige Frage für eine Spezialanforderung. Für das Monitoring der PTT-Leitung würde ich gerne den Zustand der Leitung RTS oder DTR, je nach Konfiguration, simultan abfragen. Ich nutze dafür MQTT und kann reagieren, wenn der Sender z.B. nicht mehr von alleine abschalten will.
Könnte man ein Einrichtung in der Config vorsehen, dass der Zustand der Leitung in einer Datei geloggt wird?
Mögliche Abfragen wären dann z.B. mit tail oder cat möglich. Ein Traum wäre es, wenn man generell einen MQTT-Client-Bereich im Plugin berücksichtigen könnte.
Bin aber auch zufrieden, wenn das nix im Plugin zu suchen hat.Â
LG
Carsten0Aktionen
#22 - 23.05.2025 22:32
Hi Carsten,
grundsätzlich wäre alles machbar, die Log-Datei wo sichtbar wäre wann und wie lange die PTT geschaltet war ist sicher am einfachsten und schnellsten umsetzbar, das mit der MQTT-Variante hab Ich noch nicht ganz verstanden, ...
-> Soll das Plugin als MQTT-Client sich zu einem Server verbinden um den Status in Echtzeit zu übertragen
oder
-> Soll das Plugin als MQTT-Server arbeiten wo Du dich als Client anmeldest zur Kontrolle.0Aktionen
#23 - 26.05.2025 10:44
Hi Andreas,
auf meinen Steuerrechnern ist sowieso immer ein MQTT-Client installiert. Da läuft ein oder mehrere Skripts im Hintergrund, welches mir passende Daten übermittelt. Z.B. mit tail den jeweils letzten Eintrag einer Log-Datei u.v.m.
Eine Datei /var/log/plugin_ptt.log könnte das Vorhaben erledigen. Es muss lediglich 0 (PTT off) oder 1 (PTT on) fortlaufend angehängt werden. Alles andere übernimmt der Empfänger der Nachricht. Das Kürzen der Datei würde dann der logrotate Dienst übernehmen.
Ich denke, dass die Integration einer MQTT-Funktion zum Versenden und Annehmen von Nachrichten als MSR-Einheit (Messen/Steuern/Regeln) den Rahmen sprengt. Das wäre z.B. mindestens:
- Testen auf Vorhandensein des Clients
- Angabe des Brokers
- Für jeden Zustand ein eigenes Zielverzeichnis beim Broker angeben
- Versand des Payloads/der Nachricht
- Div. andere Metadaten wie QoS usw. mitgeben
Ein passendes Kommando über einen Broker (wo auch immer der steht) an das Plugin gesendet, könnte z.B. die PTT aus der Ferne kontrollierbar machen.Â
Bei allem Sinn und Unsinn einer solchen Funktion, darf bitte nicht vergessen werden, dass das ein Luxus ist, den man sich eher mal nebenher als maßgeblich gönnt und darf gerne als solches verstanden sein.1Aktionen
#24 - Gestern um 16:57
Guten Abend,
ich habe jetzt mal das Plugin etwas durchgetestet. Wenn ich meine Yaesu über die interne CAT Schnittstelle ansteuer, funktioniert alles tadellos. Nun habe ich verschiedene Serial Adapter ausgetestet (Profilic etc.) und dein Plugin spricht die Adapter leider nicht an. Mit einem DFÜ/Serial Monitor habe ich den Ausgang an den Pins getestet und alles ist super. Nur das Teamspeak Plugin spricht die verschiedene Adapater leider nicht an.
Schön wäre es wenn man wenigstens die Baudrate einstellen kann.0Aktionen
#26 - Gestern um 18:39
Hallo Andy,
wir haben verschiedene Möglichkeiten und Adapter ausprobiert. Wenn wir den TS3 Comander unter Windows nutzen, liegt an dem Pin laut Multimeter auch eine Spannung an beim PTT drücken. Bei dem Plugin unter Linux, passiert nichts.
Wenn wir mit einem DFÜ Monitor unter Linux Signale raus senden, ist am Multimeter auch eine Spannung am Port zu messen. Bei den Adaptern reden wir von Profilic, USB-to-Serial Adapter.0Aktionen
|
![]() ![]() |
26 Einträge auf 2 Seiten |