"Schalten für.." Funktionalität per UDP
"Schalten für.." Funktionalität per UDP
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
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
-
- Administrator
- Beiträge: 487
- Registriert: Dienstag 15. Januar 2008, 11:51
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: "Schalten für.." Funktionalität per UDP
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
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
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
danke für deine Antwort - ich denke ich habs begriffen. Ist der 16 bit Integer Little Endian oder Big Endian?
Danke & Gruss,
Manuel
-
- Administrator
- Beiträge: 487
- Registriert: Dienstag 15. Januar 2008, 11:51
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: "Schalten für.." Funktionalität per UDP
Big Endian.
LG Andy
LG Andy
Re: "Schalten für.." Funktionalität per UDP
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
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
-
- Administrator
- Beiträge: 487
- Registriert: Dienstag 15. Januar 2008, 11:51
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: "Schalten für.." Funktionalität per UDP
Ich glaube nicht aber bitte ausprobieren.
LG Andy
LG Andy
Re: "Schalten für.." Funktionalität per UDP
Und in welcher Form? Einfach unkonditionell hintereinander hängen?
Habe einmal mit "\r\n" nach jeder Instruktion versucht, jedoch ohne Erfolg.
Danke,
Manuel
Habe einmal mit "\r\n" nach jeder Instruktion versucht, jedoch ohne Erfolg.
Danke,
Manuel
Re: "Schalten für.." Funktionalität per UDP
Irgendwie begreife ich das immer noch nicht
folgendes geht bei mir eionwandfrei:
was aber nicht geht ist:
die Antwort ist:
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
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
Code: Alles auswählen
echo "St_off22user3anel\r\n" | nc -u steckdose 75
Code: Alles auswählen
NET-PwrCtrl:STECKDOSE :NoPass:Err
Kann mir jemand mal die exakte Zeile schreiben, die Steckdose 2 nach 50 sec ausschaltet?
Danke.
Gruß,
Wolle
-
- Administrator
- Beiträge: 487
- Registriert: Dienstag 15. Januar 2008, 11:51
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: "Schalten für.." Funktionalität per UDP
Hi
"Zeit als 16 Bit Integer in Sekunden = max. 65535 Sek."
Die '2' sind nur 8 Bit.
LG Andy
"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
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.
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.