ALL3090 per Kommandozeile programmieren?!
Der ALL 3090 kann laut Beschreibung per UDP-Paketen programmiert werden, ich zitiere:
ALLnet ALL3090 Steuerung über UDP
=================================
Wenn gefordert ist, die Schaltausgänge nicht über die
Weboberfläche zu schalten, sondern direkt programmatisch,
kann dies über UDP-Pakete erfolgen.
Der ALL3090 prüft hierbei, ob die Portnummer mit der
eingestellten Portnummer (Default: 12346) übereinstimmt.
Außerdem ist eine Prüfung der sendenden IP-Adresse
möglich. Wenn der Defaultwert (0.0.0.0) eingestellt ist,
werden Pakete von jeder Station entgegengenommen. Ist eine
andere IP-Adresse eingestellt, werden nur Pakete verarbeitet,
derem Absender gleich der eingestellten Adresse ist.
Inhalt des Datenpakets
----------------------
(Header 42 Bytes ignoriert, nur die Nutzdaten)
Byte 0: Relaisnummer (0...7) des zu schaltenden Kontakts
Byte 1: Gewünschter Schaltzustand (0...1) für den Kontakt
Byte 2:
Byte 3:
Bytes 2+3 werden vom ALL3090 nicht geprüft.
Die Nummern in Bytes 0+1 sind direkt die Werte (ASCII-Codes $00...$07),
NICHT Ziffern (ASCII-Codes $30...37)
Vorteil wäre die schnelle Übertragung ohne den riesiegen Überhang der Webseite - unter Linux geht das sogar in BASH-Scripten:
#sendip -p ipv4 -is 192.168.1.1 -p udp -us 12346 -ud 12346 -d 0x07010D0A 192.168.1.2
-p ipv4 .. module ipv4.so
-is Source-IP
-p udp .. module udp.so
-us sourceport
-ud Destinationport
-d NUTZDATEN
1. Byte: 00..07 Schalter
2. Byte: 00 oder 01 für Zustand
Der Beispielbefehl setzt also Schalter 7 auf EIN.
Die Adresse der Box ist das letzte Argument.