Heizkörperthermostat Heizprogramme per WebFront einstellen

Interessant, dieser Fall wird beim schreiben „putParameter“ berücksichtigt, aber beim Lesen nicht!

Muss ich irgendwann mal ausbessern, aber das Testen ist halt ohne Geräte schwer.

Danke und Ciao
Heiko

Danke für das Skript, pitti, der Stil wie du es gelöst hast gefällt mir sehr gut!

Bitteschön :smiley:

Eigentlich verdient das Skript meiner Meinung nach einen eigenen Thread, hier läuft es ja sehr versteckt „huckepack“ mit im Thread zu einem anderen Skript. Es hat eine ganze Weile gedauert, bis ich es in den knapp 60 Unterseiten gefunden hatte, dabei finde ich es viel ausgereifter.

Mir gefällt dein Vorgehen, weil du es alles in einem Skript zusammen fasst und du eine Setuproutine dabei hast, so dass man nicht an x Stellen im Code irgendwelche IDs hardcoded eintragen muss. Mir gefällt dieser Stil mittlerweile am besten, aber längst nicht alle machen sich die Mühe.

Nochmals, danke. Ist wirklich selten, dass ich ein Skript aus dem Forum mehr oder weniger 100% übernehmen kann bzw. will! :):cool:

Ich hab ja noch die Urversion (mit PHP Versionsabhängigen Fixes) im Einsatz.

Ich finde die Idee von swifty immer noch genial, wie er das umgesetzt hatte.

Was mir aber immer gefehlt hat, war der zentrale Zugriff.
Beispiel: Ich bekomme Besuch von der verfrorenen Schwiegermutter
Also muss der Wohn- Essbereich und die Gästetoilette für X Stunden auf Saunatemperatur gesetzt werden.
Oder Die Frau macht einen Tag kein Homeoffice, also Bad früher aufheizen und Büro, Wohn- Essbereich tagsüber absenken.

Ich hatte da schon mal angefangen, das zu konzipieren aber irgendwie fand ich nie die Zeit.

Gesendet von iPhone XS mit Tapatalk

Erst einmal ein frohes neues Jahr an alle und vielen Dank @pitti für dein Skript!

Nun funktioniert es bei mir zwar, bis auf die Übertragung der Profile vollständig, jedoch erhalte ich bei jeder Bestätigung eines Button im Webfront eine Meldung die ausschließlich „Fehler“ anzeigt.
Alle anderen Meldungen, wie z.B. nach dem speichern von Änderungen werden auch angezeigt.
Ich nutzte nur die Wandthermostate Homematic HM-TC-IT-WM-W-EU und die Webfront ID ist selbstverständlich auch eingetragen.
Vielleicht hat noch jemand eine Idee, warum bei jeder Button betätigung die Meldung „Fehler“ im Webfront erschein.

Viele Grüße
Matthias

Zu deinem ‚Fehler‘ im WebFront, schau Mal hier:
Ausgabe von „Fehler“ im Webfront ohne ersichtlichen Grund (seit Version 3.1)
Michael

Frohes neues Jahr wünsche ich allen!

Das klingt stark nach Leerzeichen vor oder nach <?php ?> … wie Michael schon korrekt verweist!

Gruß Heiko

:banghead:
Vielen Dank! Das sind die Momente, in denen man am liebsten im Boden versinken möchte …
Ich weiss nicht, wie oft ich das Skript durchgegangen bin und was war direkt am Anfang, ein Leerzeichen.

Grüße
Matthias

:slight_smile: Du befindest Dich in guter Gesellschaft.

Ich beschäftige mich gerade auch wieder mit der Heizungssteuerung.
ich habe in meiner früheren Installation das Script von Ernie genutzt und soweit ich mich zurück erinnere, konnte man zusätzliche Variable als Auslöser der Termeratursteuerung nutzen.

Z.b. dann eben eine Varible, die das heisst „HomeOffice“ oder „Urlaub“ oder oder oder, die dann per Kalender betankt werden, was ich derzeit bereits mit der iCal-Calender Anbindung nutze.

Ich werde mir nun mal beide Script ansehen, was mit IPS5 und der bei mir noch vorhandenen ganz alten Wandthermostate am besten funktioniert.
Der PHP-Guru bin ich nämlich leider nicht :slight_smile:

Bin auch gerade am Überarbeiten meiner Heizungssteuerung. Ich trage im Moment die einzelnen Solltemperaturen pro Raum noch in txt-Dateien ein, welche per Skript augelesen werden und den einzelnen Reglern als Soll vorgegeben werden (sind sogar noch FS20 Geräte). Also nicht gerade Anwenderfreundlich.
Wo kann ich die neueste Version deines Skriptes herunterladen, damit ich zumindest die Temperaturtabelle Anwenderfreundlich neu befüllen kann?
Oder gibt es inzwischen bessere und einfachere IPS-Lösungen um pro Tag verschiedene Temperaturen vorzugeben?

LG. und danke schon mal, Werner

Guten Abend zusammen,

ich bekomme aktuell diesen Fehler:

Blockzitat Fatal error: Cannot redeclare CreateVariableByName() (previously declared in /var/lib/symcon/scripts/System.Functions.ips.php:115) in /var/lib/symcon/scripts/HM_Heizung_Funktionen.ips.php on line 179

Dieser bezieht sich auf diese Funktion, wenn ich diese auskommentiere, ist der Fehler weg.
Woran kann das liegen, bis vor kurzem ging das noch?

function CreateVariableByName($parentID, $name, $type, $profile, $ident, $position) 
    {
        $vid = @IPS_GetVariableIDByName($name, $parentID);
        if($vid === false)
        {
            $vid = IPS_CreateVariable($type);
            IPS_SetParent($vid, $parentID);
            IPS_SetName($vid, $name);
				IPS_SetPosition ($vid, $position);
            IPS_SetInfo($vid, "this variable was created by script #".$_IPS['SELF']);
            if($profile !== "") { IPS_SetVariableCustomProfile($vid, $profile); }
				if($ident !=="") {IPS_SetIdent ($vid , $ident );}
			}
	  	  return $vid;
  }

Danke und viele Grüße
Stephan

Antwort ist relativ einfach!

Wie der Fehler schon sagt, das ein erneutes Deklarieren der Funktion nicht erlaubt ist.

Du hast mein Script System.Functions.php.ips installiert und wahrscheinlich global via autoload.php zur Verfügung gestellt.

Da das Heizprogramm Skript auch von mir ist und auch schon recht alt ist hat es die Funktionen noch selber mitgebracht.

Kann nur empfehlen meinen Block Artikel zu meiner Skriptbibliothek zu lesen und zu verinnerlichen.

Aber es zeigt mir leider, das ich mit der Veröffentlichung meiner neuen Vorgehensweise ein Fehler gemacht habe. War wohl ein zu offensiver Ansatz :frowning:

Hallo Heiko,

danke für die schnelle Antwort.

So ganz verstehe ich es noch nicht. Ich habe bezüglich der Heizung noch das Ausgangsskript von Swifty im Einsatz. Aber da ist ja auch die Funktion drin.

Ah dann geht es vermutlich nicht mehr seit ich dein Solarprognose Skript installiert habe, da habe ich ja deine Skriptbibliothek eingesetzt.

Wie gehe ich jetzt am Besten vor? Kann ich die Funktion im Skript einfach auskommentiert lassen?

Danke und Grüße
Stephan

Hi Stephan,

schmeiß mein Script aus der _autoload.php raus und nutze das „require_once“ im Solar-Script.

Biste auf der sicheren Seite!

Gruß Heiko

Alles klar Heiko, mach ich so. Danke :sweat_smile:.

Gruß Stephan