Wago 750-881 soll Shell Script auf Linux Server im LAN starten

tomrey

Level-2
Beiträge
387
Reaktionspunkte
33
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi all, auf dem Weg zu meiner Hausautomatisierung 2.0 suche ich eine Lösung für einen Fernstart eines Shell Scripts auf meinem Debian-Server, der bei mir alle Multimedia-Funktionen erledigt. Bisher startet die 750-881aus einer Wecker.prg den Debian mit WOL und alle weck-scripts auf Debian laufen 1x lokal nach dem systemstart.
Jetzt möchte ich so umändern, dass die SPS ein weck-script auf dem Debian starten kann, auch wenn dieser schon läuft.
In der Linux Welt wird so etwas normalerweise mit ssh gelöst aber ich kenne bisher nur http-put, mit dem ich im LAN Netzsteckdose schalte bzw curl-befehl mit dem ich das aus linux-scripten heraus mache. Soweit ich das bisher beurteilen kann, ginge das auch, würde aber die Sicherheit des Webservers auf dem Debian gefährden. In den letzten Tagen habe ich etwas mit node-red herumgespielt aber habe keinen erfolgversprechenden Ansatz gefunden.
Konkrete Fragen:
Gibt es eine "ssh-client-lib" für die 750-881?
Hat jemand eine Lösung für meine Herausforderung?
Dank+Gruß
 
Was spricht denn gegen die nackte Socket Kommunikation?

Wago senden UDP String "Hallo Wach" und der Debian hat ein Programm (Bash, python, ...) am Laufen was auf dem passenden Port lauscht und bei "Hallo Wach" irgendwas macht.

Grüße

Marcel
 
Sehr rudimentäres Beispiel in python:

UDP-Daten auf Port 12345 empfangen und in data ablegen.
In data wäre dann der String "Hallo Wach".
Code:
UDP_IP = "192.168.0.1"
UDP_PORT = 12345

sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((UDP_IP, UDP_PORT))
    
while True:

    data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
    data = str(data, "utf8")

Ein UDP-Senden Beispiel habe ich für die Wago selbst nicht, aaaber gucken wir doch mal im Internet...


Alternativ guck Dir mal pymodbus an. Damit kannst Du z.B. als Client auf deine 881 zugreifen, das ist auch sehr schön :)

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nachtrag: Hab es jetzt so gelöst:
Wago: http-put an node-red (node.js) webserver auf dem Debian-Server, der dann weitermacht.
Geht auch zur Steuerung eins Yamaha-Receivers..
Grüße
 
Zurück
Oben