Wenn mal etwas nicht auf Anhieb funktioniert, bedenken Sie immer: Ein Computer ist von Natur aus eine dumme Maschine.

Anonymous

ALL3090 per Kommandozeile programmieren?!

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.

Nähere Infos zu sendip

Zurück zur Übersicht
Teamviewer Logo
Fernwartung
Sophos Sign
Security made simple
1&1 Shop
Telekom Shop