Hallo,
ich verwende den ClientSocket um über ein usr tcp232 302 meine selbst programmierte Heizungssteuerung auszulesen, d.h. regelmässig Temperaturwerte und bei bestimmten Ereignissen wie z.B. Brenner an/aus. Das funktioniert hervorragend.
Jetzt möchte aus Symcom Werte bzw. Befehle an die Steuerung schicken, in diesem Fall Korrekturwerte zur benötigten Vorlauftemperatur auf Basis der Öffnungsstellungen der Ventilantriebe.
Im ersten Schuss alles fertig gemacht, mit dem Ergebnis das auf der Heizung nichts ankommt. Dann habe ich das Script vereinfacht und separiert:
<?php
$socketID = 43133; // Deine Client Socket ID
$payload = "#K333" . chr(13);
if (IPS_InstanceExists($socketID)) {
$result = CSCK_SendText($socketID, $payload);
SetValueString(26988, $payload);
if ($result) {
echo "ERFOLG: Symcon hat den Befehl intern an den Socket übergeben.\n";
echo "Wenn jetzt nichts im Debug erscheint, liegt es an der Instanz-Konfiguration.";
} else {
echo "FEHLER: CSCK_SendText hat 'false' zurückgegeben!\n";
echo "Mögliche Gründe: Socket ist geschlossen, ID ist keine I/O Instanz oder Puffer ist voll.";
}
} else {
echo "KRITISCHER FEHLER: Die ID " . $socketID . " existiert nicht im System.";
}
?>
Das Script läuft durch, meldet Erfolg und ändert auch die Testvariable.
Nur kommt nichts an. Ich melde mich mit Putty auf den Konverter an (mehrere Verbindungen zulässig), sehe aber nur die Daten die von der Heizung gesendet werden.
Im Debug Fenster des Client Socket das gleiche, nur die Verarbeitung der empfangenen Daten, aber nichts von den gesendeten zu sehen.
Ich komme jetzt grad nicht weiter, irgendwas erschließt sich mir nicht. Könnte es sein das ich zu senden einen zweiten Client Socket einrichten muss?
Danke für jeden Input,
Harry