Seite 1 von 2

"Schalten für.." Funktionalität per UDP

Verfasst: Mittwoch 13. Juni 2012, 08:55
von kafitasse
Hallo,

ich möchte gerne die "Schalten für...." Funktion (sprich ein Puls-Signal auf dem Relais) per UDP Protokoll ansteuern.
Soweit ich das aus der Beschreibung lesen kann, müsste dies folgender Befehl sein:

Relais zeitverzögert abschalten
“St_off” + Segment + Zeit[Sek] + User + Passwort
Zeit als 16 Bit Integer in Sekunden = max. 65535 Sek.

Ich habe nun aber jedoch Probleme, diese Funktion per UDP anzusteuern (Sw_on, Sw_off, etc. funktioniert einwandfrei).
Wie muss ich den String formatieren wenn ich zum Beispiel das Relais 1 für 5 Sekunden schalten möchte?

Ich habe probiert "St_off15adminanel", bekomme dann aber immer ein "NoPass:Err" zurück. Wie muss "Zeit[Sek]" richtig formatiert sein? Für mich wäre ein 16 Bit Integer ein vierstelliger Hex-Code aber das funktioniert auch nicht.

Danke,
Manuel

Re: "Schalten für.." Funktionalität per UDP

Verfasst: Mittwoch 13. Juni 2012, 15:43
von andy
Hi kafitasse,

Bei: St_off15adminanel nicht 5 sondern 5 als Integer.

"St_off1" + 0x0005 + "adminanel". Nach St_off1 müssen zwei Byte mit Zeit folgen.

Deine 5 ist ASCII und = 53.

LG Andy

Re: "Schalten für.." Funktionalität per UDP

Verfasst: Mittwoch 13. Juni 2012, 15:56
von kafitasse
Hallo Andy,

danke für deine Antwort - ich denke ich habs begriffen. Ist der 16 bit Integer Little Endian oder Big Endian?

Danke & Gruss,
Manuel

Re: "Schalten für.." Funktionalität per UDP

Verfasst: Mittwoch 13. Juni 2012, 22:26
von andy
Big Endian.

LG Andy

Re: "Schalten für.." Funktionalität per UDP

Verfasst: Donnerstag 14. Juni 2012, 06:56
von kafitasse
Das zeitverzögerte Abschalten funktioniert jetzt.
Noch eine Frage: Kann ich mehrere Befehle in einem UDP Packet zusammenfassen? Kann ich zum Beispiel ein "Sw_on" und ein "St_off" in einem Packet kombinieren?
Ich habe eine Anlage wo ich darauf angewiesen bin, dass der Puls nicht länger als eine vordefinierte Periode geht. Wenn nun das Abschalt-Packt verloren geht kann ich diese Zeit nicht einhalten (das ganze wird übers GSM Netz bedient und deshalb ist es gut möglich, dass das eine oder andere UDP Packet den Empfänger nicht erreicht).

Gruss,
Manuel

Re: "Schalten für.." Funktionalität per UDP

Verfasst: Freitag 15. Juni 2012, 07:03
von andy
Ich glaube nicht aber bitte ausprobieren.

LG Andy

Re: "Schalten für.." Funktionalität per UDP

Verfasst: Freitag 15. Juni 2012, 07:21
von kafitasse
Und in welcher Form? Einfach unkonditionell hintereinander hängen?
Habe einmal mit "\r\n" nach jeder Instruktion versucht, jedoch ohne Erfolg.

Danke,
Manuel

Re: "Schalten für.." Funktionalität per UDP

Verfasst: Samstag 22. September 2012, 23:32
von wollet42
Irgendwie begreife ich das immer noch nicht

folgendes geht bei mir eionwandfrei:

Code: Alles auswählen

echo "Sw_on2user3anel\r\n" | nc -u steckdose 75
echo "Sw_off2user3anel\r\n" | nc -u steckdose 75
was aber nicht geht ist:

Code: Alles auswählen

echo "St_off22user3anel\r\n" | nc -u steckdose 75
die Antwort ist:

Code: Alles auswählen

NET-PwrCtrl:STECKDOSE      :NoPass:Err
Ich dachte der Befehl schaltet Steckdose 2 nach 50 sec aus aber leider gibts immer den Fehler.

Kann mir jemand mal die exakte Zeile schreiben, die Steckdose 2 nach 50 sec ausschaltet?

Danke.

Gruß,
Wolle

Re: "Schalten für.." Funktionalität per UDP

Verfasst: Montag 24. September 2012, 08:20
von andy
Hi

"Zeit als 16 Bit Integer in Sekunden = max. 65535 Sek."

Die '2' sind nur 8 Bit.

LG Andy

Re: "Schalten für.." Funktionalität per UDP

Verfasst: Freitag 11. Januar 2013, 19:29
von schtebo
hi zusammen,

kann mal einer bitte ein beispiel für das verzögerte ausschalten für die NET-PwrCtrl HOME angeben. ich hab jetzt alle beiträge durchgeschaut aber kein funktionierendes beispiel gefunden.

wäre super z.b. wenn jemand einbeispiel für steckdose 2 und für

20 sekunden

5 minuten

2 stunden angeben könnte.

vielen dank.