Hab gestern viele alte Variablen gelöscht und da kam dann öfter mal die Warnung dass es noch Referenzen darauf gibt… und das waren dann immer zufällige Treffer aus diesen Arrays…
Vielen Dank für die Zusammenfassung der Scripte @Pitti
Nachdem ich alles gemäß Deiner Anweisungen im Script eingerichtet habe, kann ich leider bei meinen Thermostaten (HM-CC-RT-DN & HM-TC-IT-WM-W-EU) die dort hinterlegten Zeitpläne nicht auslesen. Beim Klick auf die Schaltfläche Auslesen in der Weboberfläche erscheinen wiederholt PHP Notice Meldungen (siehe Screenshot).
Ich habe bereits nach der Ursache gesucht aber komme leider nicht weiter. Vermutlich wird die Variable $params durch ReadParamSet nicht befüllt. In der CCU steht der XML-RPC-API-Zugriff auf Vollzugriff. Auch steht die IP-Adresse des Symcon-Systems auf der Liste der eingeschränkten Adressen.
Die CCU ist bei mir ein RaspberryMatic Version 3.43.15.20190223. IP-Symcon 5.0 läuft unter Ubuntu 18.04.2 LTS. Bei der xmlrpc.inc.php habe ich die erwähnte Version phpxmlrpc-4.3.0 heruntergeladen und im Script eingebunden.
Hat evtl. jemand eine Idee warum das nicht klappt?
Bin gerade nicht am Rechner, aber wenn Du das Script nutzt müsste eine Fehlermeldung kommen das der Typ XYZ (Wahrscheinlich HmIP-eTRV-B) nicht unterstützt wird.
Diese Typbeszeichnung müsstest Du im Script beim Gerätetypcheck (if … then) hinzufügen!
Führ doch mal folgendes Skript aus und gib mal das Ergebnis preis! (IP eintragen nicht vergessen)
<?php
################################################################################
# Script: System.Ports.ips.php
# Version: 2.0
# Author: Heiko Wilknitz
#
# Zum überprüfen ob der entsprechende TCP-Port erreichbar ist oder geblockt wird
# Für einen UDP Check muss ein udp// vor die IP-Adresse gesetzt werden.
#
################################################################################
// IP CCUx
$ip = "xxx.xxx.x.x";
// Homematic. Für den Lanadapter muss nur Port 2001 und 5544 erreichbar sein
// 2000 - für Wired
// 2001 - für Funk
// 2010 - für IP
// 5544 - für Ereignise
// 8181 - für Scripte
// 42000 - SSL Wired
// 42001 - SSL Funk
// 42010 - SSL IP
// 48181 - SSL Scripte
$port = array(2000, 2001,2010, 5544, 8181);
for($i=0; $i<count($port); $i++) {
// IP Adresse anpassen
$socket = @fsockopen($ip, $port[$i], $errno, $errstr);
if(!$socket) {
echo "Port: ".$port[$i]." ist NICHT erreichbar!
";
}
else {
echo "Port: ".$port[$i]." ist erreichbar.
";
}
}
?>
Nein, ist nicht die schönste Lösung, aber ich wollte ein Feedback haben ob alles erfolgreich war beim schreiben. Es dauert ja doch immer paar Sekunden, jedenfalls bei mir.
danke für das Skript. Bis auf mein Wandthermostat (HM-TC-IT-WM-W-EU) läuft alles wunderbar.
In der Config habe ich bereits gelesen, dass das Thermostat ungetestet ist, aber vielleicht hast du ja eine Idee?
Ich habe die Heizprofile entsprechende bearbeitet und beim Speichern des Raumes, in dem sich das Wandthermostat befindent, erhalte ich folgende Fehlermeldung:
schön das es schon größtenteils funktioniert. Komme leider erst heute Abend wieder zum schauen, aber die Fehlermeldung sieht nach einem Schreibfehler aus. Das soll doch bestimmt „Profile“ oder so heißen. Da fehlt doch ein P.