Hallo Zusammen,
da ich gerade meine Steuerung auf die Thermostate umstelle grabe ich hier in diesem Thread nochmal rum. Ich bekomme eine Fehlermeldung beim Auslesen der Thermostate.
Notice: Undefined index: TEMPERATUR_MONDAY_1 in E:\IP-Symcon\scripts\hmxml.inc.php on line 195
Notice: Undefined index: TIMEOUT_MONDAY_1 in E:\IP-Symcon\scripts\hmxml.inc.php on line 196
Notice: Undefined index: TEMPERATUR_MONDAY_2 in E:\IP-Symcon\scripts\hmxml.inc.php on line 195
Notice: Undefined index: TIMEOUT_MONDAY_2 in E:\IP-Symcon\scripts\hmxml.inc.php on line 196
Das ganze kommt für jeden Wochentag und immer von 1 bis 24. Ich bin leider noch nicht so gut in Php um die Ursache in der hmxml.inc.php zu finden.
Das Array was raus kommt sieht folgendermaßen aus. (Gekürzt)
Das Speichern der Profile auf den Thermostaten kommen an und sehen auf der CCU in Ordnung aus. Das Auslesen mach aber dann Probleme.
Zurücksetzen der Thermaostat, Speichern über CCU etc ppp hat leider nichts gebracht.
Ich hoffe mir kann jemand helfen.
Gruß
Steffen
Ich habe den Fehler gefunden. Hat sich damit erledit.
@ Raketenschnecke
Seitdem ich auf die Version 3.0 geupdatet habe, bekomme ich beim Ausführen des Scriptes zur Einstellung des Hand/Auto-Modus nur noch folgende Meldung:
Notice: Undefined index: VARIABLE in C:\IP-Symcon\scripts\9Heizungsmode.php on line 5
Notice: Undefined index: VALUE in C:\IP-Symcon\scripts\9Heizungsmode.php on line 5
Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\9Heizungsmode.php on line 5
Notice: Undefined variable: IPS_VALUE in C:\IP-Symcon\scripts\9Heizungsmode.php on line 12
Notice: Undefined variable: IPS_VALUE in C:\IP-Symcon\scripts\9Heizungsmode.php on line 37
Notice: Undefined variable: IPS_VARIABLE in C:\IP-Symcon\scripts\9Heizungsmode.php on line 39
Notice: Undefined variable: IPS_VALUE in C:\IP-Symcon\scripts\9Heizungsmode.php on line 39
Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\9Heizungsmode.php on line 39
Folgendes Script hatte ich bis zu letzt benutzt !
<?
include "xmlrpc.inc.php" ;
SetValueInteger($_IPS['VARIABLE'], $_IPS['VALUE']);
// für ccu muss die passende Adresse eingetragen werden
$c=new xmlrpc_client("http://192.168.178.16:2001", "", "");
// die 1 bei xmlrpcval muss für den entsprechenden Modus gesetzt werden
// 0 = MANUAL; 1 = AUTO; 2=CENTRAL; 3 = PARTY
$param1= array("MODE_TEMPERATUR_REGULATOR" => new xmlrpcval($IPS_VALUE, "i4"));
$valPs = new xmlrpcval();
$valPs->addStruct($param1);
// die entsprechende Adresse des WT muss hier hinterlegt werden
$g = new xmlrpcmsg("putParamset",
array( new xmlrpcval("JEQ0012624:2", "string"),
new xmlrpcval("MASTER", "string"),
$valPs ) );
$r=$c->send($g);
$messages = php_xmlrpc_decode($r->value());
// status prüfen
$g = new xmlrpcmsg("getParamset",
array( new xmlrpcval("JEQ0012624:2", "string"),
new xmlrpcval("MASTER", "string")
) );
$r=$c->send($g);
$messages = php_xmlrpc_decode($r->value());
//print_r($messages);
if($messages['MODE_TEMPERATUR_REGULATOR']==$IPS_VALUE)
{
SetValue($IPS_VARIABLE, $IPS_VALUE);
}
else
{
echo "Fehler: Modus am Thermostat wurde nicht geändert";
}
?>
Ich habe meine alte IPS Installation (v3.4) von 2013 inzwischen auf Win 10 64bit migriert und somit IPS auf v6.0 aktualisiert. Ich verwende noch ein paar ältere HM Wandthermostate und habe die xmlrpc.inc.php zum abfragen und setzen des Heizmodus (Manu, Auto, Cent, Party) verwendet.
Mit der neueren PHP Version kommen jetzt einige Fehler beim Ausführen der xmlrpc.inc.php:
The each function is deprecated
count(): Parameter must be an array or object …
Hierzu zwei Fragen:
Gibt es eine aktualisierte xmlrpc.inc.php welche unter IPS v6 verwendet werden kann?
Gibt es inzwischen eine andere (bessere) Methode um den Heizmodus der HM Thermostate abzufragen bzw. zu setzen?
Vielen Dank an alle die in diesem wie im verlinkten Beitrag zur Lösung beigetragen haben.
Status holen und senden zu den HM Thermostaten funktioniert jetzt wieder ohne Fehlermeldung.
Ich versuche mich aktuell in dieses Thema einzuarbeiten.
Ich möchte gerne die Datenpunkte (hier die Wochenprogramme) der WTH-2 mit IPSymcon auslesen bzw. auch ändern können.
Warning: HomeMatic Fehler: Invalid parameter or value in /var/lib/symcon/scripts/36058.ips.php on line 4
abgewiesen.
Ob das überhaupt so funktionieren kann weiß ich noch nicht.
Ich habe dazu nach längerer Suche hier im Forum auch noch nichts konkretes gefunden.
Zumal es ja auch keine HM_ReadValue…() Befehle gibt.
Magst Du mir (oder gerne jeder andere der mitliest) mit ein paar Codeschnipseln auf die Sprünge helfen ?
Würde mich freuen
P.S.: Das HM_Inventory Script habe ich zum laufen bekommen.
@lueralba
Bezüglich der Wochenprogramme habe ich leider überhaupt keine Ahnung.
Aus meiner Sicht wäre es ohnehin besser das Temperatur-Program via IPS zu realisieren und von dort immer nur die Soll-Temperatur zu senden.
Sicher das es Datenpunkte und nicht Konfig-Parameter sind?
Die kannst du über IPS Bordmitteln nicht direkt ansprechen.
Es gibt HM_RequestState um den aktuellen Wert von einem Datenpunkt in die Symcon Variable zu bekommen.
Wobei dies i.d.R. unnötig ist, da die CCU Wertänderungen zu Symcon pusht.
Michael
PS: Es gibt aktuell nur den Weg über die xmlrpc in PHP oder in Zukunft (3-5 Monate) auch über mein HomematicExtended Modul.
Nicht zu viel erhoffen. Es gibt dann nur PHP-Befehle um die Konfig der Geräte zu ändern.
Welche Parameter und was man einstellen kann, muss jeder selbst für sich bauen
Dafür gibt es einfach zu viele verschiedene Geräte.
Und alle als Symcon-Variablen anlegen, sprengt den Rahmen
Michael