Ich setzte einen Rasberry 3 als CCU und möchte einen weiteren Rasberry 3 einsetzen um meine Aktoren zu steuern.
Auf dem zweiten PI läuft ein Webserver, der auf Änderungen in der CCU reagieren soll. Die CallBack Adresse registriere ich folgendermaßen:
Code: Alles auswählen
private async void RegisterCallBackback(String PC)
{
try
{
HttpWebRequest request = WebRequest.Create("http://192.168.0.XXX:2001/") as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/xml";
request.ContinueTimeout = 100;
string body = @"<?xml version=""0.1""?>";
body += "<methodCall>\n";
body += "<methodName>init</methodName>\n";
body += "<params>\n";
body += "<param>\n";
body += "<value><string>http://192.168.0.XXX:2010/</string></value>\n";
body += "</param>\n";
body += "<param>\n";
body += "<value><string>" + PC + "</string></value>\n";
body += "</param>\n";
body += "<param>\n";
body += "<value><double>0.4</double></value>\n";
body += "</param>\n";
body += "</params>\n";
body += "</methodCall>\n";
byte[] bytes = Encoding.ASCII.GetBytes(body);
using (var requestStream = await request.GetRequestStreamAsync())
{
requestStream.Write(bytes, 0, bytes.Length);
}
var response = await request.GetResponseAsync() as HttpWebResponse;
var responseContent = new StreamReader(response.GetResponseStream()).ReadToEnd();
}
catch (Exception ex)
{
}
return;
}
Draufhin bekomme ich auch ein paar Werte von der CCU, jedoch hört die CCU nach einiger Zeit auf zu senden.
Der Webserver ist jedoch weiter erreichbar (Befehle mit Postman gesendet und als Response 200 bekommen).
Als Antwort im Webserver sende ich den XML-POST und OK.
Ich habe an einer Stelle gelesen, das nach dem INIT die CCU mit einem ListDevice antwortet und hier eine spezielle Antwort erwartet wird ?
Ist dies korrekt und wenn JA wie lautet diese, bzw kann mir jemand diese zukommen lassen ?
In diesem Zusammenhang möchte ich auch erwähnen, dass ich in der Testphase häufig einen "WatchDog" Fehler bekomme. Ich vermute hier einen Zusammenhang.
Vielen Dank für Eure Hilfe.
Joachin