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

kafitasse
Beiträge: 6
Registriert: Mittwoch 13. Juni 2012, 08:35

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

Beitrag von kafitasse » Mittwoch 13. Juni 2012, 08:55

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

andy
Administrator
Beiträge: 486
Registriert: Dienstag 15. Januar 2008, 11:51
Wohnort: Düsseldorf
Kontaktdaten:

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

Beitrag von andy » Mittwoch 13. Juni 2012, 15:43

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

kafitasse
Beiträge: 6
Registriert: Mittwoch 13. Juni 2012, 08:35

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

Beitrag von kafitasse » Mittwoch 13. Juni 2012, 15:56

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

andy
Administrator
Beiträge: 486
Registriert: Dienstag 15. Januar 2008, 11:51
Wohnort: Düsseldorf
Kontaktdaten:

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

Beitrag von andy » Mittwoch 13. Juni 2012, 22:26

Big Endian.

LG Andy

kafitasse
Beiträge: 6
Registriert: Mittwoch 13. Juni 2012, 08:35

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

Beitrag von kafitasse » Donnerstag 14. Juni 2012, 06:56

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

andy
Administrator
Beiträge: 486
Registriert: Dienstag 15. Januar 2008, 11:51
Wohnort: Düsseldorf
Kontaktdaten:

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

Beitrag von andy » Freitag 15. Juni 2012, 07:03

Ich glaube nicht aber bitte ausprobieren.

LG Andy

kafitasse
Beiträge: 6
Registriert: Mittwoch 13. Juni 2012, 08:35

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

Beitrag von kafitasse » Freitag 15. Juni 2012, 07:21

Und in welcher Form? Einfach unkonditionell hintereinander hängen?
Habe einmal mit "\r\n" nach jeder Instruktion versucht, jedoch ohne Erfolg.

Danke,
Manuel

wollet42
Beiträge: 3
Registriert: Samstag 12. Juli 2008, 11:55

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

Beitrag von wollet42 » Samstag 22. September 2012, 23:32

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

andy
Administrator
Beiträge: 486
Registriert: Dienstag 15. Januar 2008, 11:51
Wohnort: Düsseldorf
Kontaktdaten:

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

Beitrag von andy » Montag 24. September 2012, 08:20

Hi

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

Die '2' sind nur 8 Bit.

LG Andy

schtebo
Beiträge: 5
Registriert: Sonntag 15. Januar 2012, 22:02

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

Beitrag von schtebo » Freitag 11. Januar 2013, 19:29

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.

Antworten