UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[Frage] [1.5.3] Wiregate-Container KNX-Zugriff über IP-Router geht nicht

Alles rund um die Timberwolf Server APP "WireGate Plugin" mit der Laufzeitumgebung für WireGate Server Plugins
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

Ersteller
pbm
Reactions:
Beiträge: 201
Registriert: Mo Dez 02, 2019 10:20 pm
Wohnort: Hannover
Hat sich bedankt: 116 Mal
Danksagung erhalten: 114 Mal

[1.5.3] Wiregate-Container KNX-Zugriff über IP-Router geht nicht

#1

Beitrag von pbm »

Hallo,

ich versuche gerade den wiregate-Container mit meinem KNX-IP-Router zu verbinden. (Siemens 5WG1 146-1AB02)
(container-Image: timberwolfserver/wiregate-perl-plugin-environment:latest)

Jedoch kann ich weder Telegramme lesen noch schreiben.
z.B. mit einem einfachen Plugin:

Code: Alles auswählen

knx_write('1/0/220',0,1);
im Log steht:

Code: Alles auswählen

PLUGIN knx_write KNX write DPT 1: 1 (0081) to 1/0/220 ()
Was mag das Problem sein?

Ganz am Anfang im Log steht:

Code: Alles auswählen

Starting eibd with port 3671 on host 10.2.1.180 ...
W00000001: EIBD should not run as root
 done.
in der Console mit "ps -ef" steht unter anderem dies:

Code: Alles auswählen

/usr/bin/eibd -u -i ipt:10.2.1.180:3671 -d/var/log/eibd.log -e 0.0.0

Im Vergleich dazu der Prozess aus dem funktionierenden CometVisu-Container:

knxd -i iptn:10.2.1.180:3671 -e 15.15.248 -u -d/var/log/eibd.log -c

Auch wenn dort der knxd läuft, wird der mit etwas anderen Parametern "iptn" gestartet.

Ich komme nicht drauf, an welcher Stelle im Wiregate-Container ich den eibd-Parameter ändern kann, um das mal mit "iptn" auszuprobieren?

Kann mir bitte jemand helfen?
Schöne Grüße
Peer

TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache

blaubaerli
Reactions:
Beiträge: 2307
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 884 Mal
Danksagung erhalten: 677 Mal

#2

Beitrag von blaubaerli »

Hallo Peer,

hast du den Wiregate-Container manuell oder als APP installiert?

Das Verhalten des Containers kannst du primär über das Setzen von Umgebungsvariablen in der Portaineroberfläche beeinflussen. Ich weiß nicht wie weit du da im Thema bist. Reicht dir das als Ansatz?

Gruß
Jens
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung

Ersteller
pbm
Reactions:
Beiträge: 201
Registriert: Mo Dez 02, 2019 10:20 pm
Wohnort: Hannover
Hat sich bedankt: 116 Mal
Danksagung erhalten: 114 Mal

#3

Beitrag von pbm »

Bin ein kleines Stück weiter gekommen.
Im script "/usr/bin/start_services.sh" wird der eibd gestartet.
Blöderweise gehört das Script "root", sodass mir als user "wiregate" die Rechte fehlen.

mit

Code: Alles auswählen

wiregate@3f43bb180ea1:/usr/bin$ sudo vi start_services.sh

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for wiregate:
Sorry, user wiregate is not allowed to execute '/usr/bin/vi start_services.sh' as root on 3f43bb180ea1.
komme ich auch nicht weiter...

dies auch probiert:

Code: Alles auswählen

wiregate@3f43bb180ea1:/$ /usr/bin/eibd stop
No listen-address given
bis hier hin hab ich mir das mal mühsam ergoogled. aber so langsam lässt google mich im stich...
Zuletzt geändert von pbm am Mi Mär 04, 2020 10:39 pm, insgesamt 1-mal geändert.
Schöne Grüße
Peer

TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache

Ersteller
pbm
Reactions:
Beiträge: 201
Registriert: Mo Dez 02, 2019 10:20 pm
Wohnort: Hannover
Hat sich bedankt: 116 Mal
Danksagung erhalten: 114 Mal

#4

Beitrag von pbm »

Hallo Jens,

hab ihn als APP installiert.

Bild



Mit umgebungsvariablen meinst du das hier?
(An der stelle hab ich den Hinweis auf "start_services.sh" gefunden.)

Bild



Aber wirklich weiter bringt mich das glaube ich nicht, oder?
Zuletzt geändert von pbm am Mi Mär 04, 2020 10:39 pm, insgesamt 1-mal geändert.
Schöne Grüße
Peer

TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache

blaubaerli
Reactions:
Beiträge: 2307
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 884 Mal
Danksagung erhalten: 677 Mal

#5

Beitrag von blaubaerli »

Hi Peer,

egal was du machst, alle Änderungen die du da machen würdest, wären beim nächsten Deployment des Containers wieder verloren...

Grundsätzlich findet sich in dem von dir benannten Script folgende Zeile:

/usr/bin/eibd -u -i ipt:$KNXHOST:$KNXPORT -d/var/log/eibd.log -e 0.0.0

Sprich das lässt sich permanent nur durch das Setzen der Umgebungsvariablen KNXHOST und KNXPORT in der Portaineroberfläche, oder im Konfigfenster der App beeinflussen.

An sonsten ist das statisch...

Ich habe das noch nicht probiert, aber wenn du über die Portaineroberfläche eine Konsole für den Container öffnest, bist du root. Du kannst den laufenden eibd killen und könntest mal probieren den manuell mit den von dir benötigten Parameter zu starten. Ist aber halt nur Testgefrickel und hat keinesfalls Bestand.

Wenn das dann aber im Test funktioniert, dann gäbe es da schon weitergehende Möglichkeiten.... Auf Basis des Wiregate-Containers dann selbst die erforderliche Modifikation vornehmen, einen eigenen Container bauen, auf Dockerhub zur Vefügung stellen, manuell installieren, fertig.

Beste Grüße
Jens
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung

blaubaerli
Reactions:
Beiträge: 2307
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 884 Mal
Danksagung erhalten: 677 Mal

#6

Beitrag von blaubaerli »

Hallo Peer,

ja, die Installation über die App ist letztlich eine komfortable Möglichkeit die Einstellungen im Portainer vorzunehmen. Die Felder die du in dem kleinen Fenster editieren kannst, siehst du dann zum Teil in den ENV-Variablen. Die kann man dann im Container selbst zur Laufzeit wieder abholen und wie hier in dem Script nutzen. Der Aufbau des Scriptes ist im Container nur starr vorgegeben und lässt sich halt auf einfachem Weg nur über die dafür vorgesehenen Wege von aussen beeinflussen.

Gruß
Jens
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung

blaubaerli
Reactions:
Beiträge: 2307
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 884 Mal
Danksagung erhalten: 677 Mal

#7

Beitrag von blaubaerli »

Hi Peer,

es gibt noch eine Variante, ohne selbst einen Container bauen zu müssen....

Wenn du den Container nicht via App installierst, sondern manuell, dann hast du die Möglichkeit das Feld "Command" in der Portaineroberfläche ja selbst zu editieren. Wenn du dann eine von dir modifizierte Kopie des Scriptes "/usr/bin/start_services.sh" in dem persistenten Volume des Containers ablegst und dieses dann hier im Command einträgst, hast du das Thema auch im Griff.

Gruß
Jens
Zuletzt geändert von blaubaerli am Mi Mär 04, 2020 11:02 pm, insgesamt 1-mal geändert.
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung

Ersteller
pbm
Reactions:
Beiträge: 201
Registriert: Mo Dez 02, 2019 10:20 pm
Wohnort: Hannover
Hat sich bedankt: 116 Mal
Danksagung erhalten: 114 Mal

#8

Beitrag von pbm »

Hallo zusammen,

das mit der Console über die Portainer-Seite hab ich auch schon probiert.

Du hast recht, dort ist man standardmäßig "root".

Leider startet so der selbst nachinstallierte "vi" nicht. Der Cursor blinkt nur einfach so in der Gegend rum und nichts passiert.

Bild


Wenn ich über Putty auf den Container gehe, kann ich mich nur mit dem user "wiregate" anmelden.

Dort funktioniert aber der "vi". Jedoch ohne schreibrechte auf start_services.sh. (mit :wq! lässt er mich auch nicht schreiben)

zu "root" fehlt mir das Passwort. (mit dem Passwort vom "wiregate" geht es nicht)

hat jemand ne Idee, wie das Passwort vom "root" sein könnte?!
Schöne Grüße
Peer

TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache

blaubaerli
Reactions:
Beiträge: 2307
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 884 Mal
Danksagung erhalten: 677 Mal

#9

Beitrag von blaubaerli »

Hallo Peer,

du brauchst das Root-PW definitiv nicht.

Das mit dem Editieren und dem vi unter root liegt wahrscheinlich an Zeichensatzthematiken.

Mit einem "ls -al /usr/bin/start_services.sh" wirst du erkennen, das das Skript standardmäßig folgende Rechte besitzt:

Code: Alles auswählen

root@76b4d503e41d:/# ls -al /usr/bin/start_services.sh
-rwxr-xr-x 1 root root 971 Oct  9 13:24 /usr/bin/start_services.sh
Mit einem chmod 777 /usr/bin/start_services.sh in der Portainer-Konsole als root, kannst du das so ändern, dass das von jedem User editiert werden kann, auch dem wiregate-User über den Putty.

Damit kannst du dann ändern. Aber wie gesagt, beim nächsten Deploy geht es zurück auf Los!

Beste Grüße
Jens
Zuletzt geändert von blaubaerli am Do Mär 05, 2020 10:42 pm, insgesamt 2-mal geändert.
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung

Ersteller
pbm
Reactions:
Beiträge: 201
Registriert: Mo Dez 02, 2019 10:20 pm
Wohnort: Hannover
Hat sich bedankt: 116 Mal
Danksagung erhalten: 114 Mal

#10

Beitrag von pbm »

Hallo Jens,

so funktionierts! Danke!

hab die Zeile

/usr/bin/eibd -u -i ipt:$KNXHOST:$KNXPORT -d/var/log/eibd.log -e 0.0.0

angepasst auf

/usr/bin/eibd -u -i iptn:$KNXHOST:$KNXPORT -d/var/log/eibd.log -e 0.0.0


Und nach nem reboot des Containers klappt jetzt auch die Kommunikation mit dem KNX-IP-Router! :dance:

Dann nehme ich mir mal vor, zu verstehen, wie das mit den Containern und dem Deployen funktioniert...

Grundsätzlich muss ich den Container doch nicht nochmal deployen, wenn er so läuft?!
Oder passiert das irgendwann automatisch?
Schöne Grüße
Peer

TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache
Antworten

Zurück zu „Timberwolf APP: WireGate Plugin Laufzeitumgebung“