Heizungsregelung mit Max! per IPS?

Hat jemand schon mal die Max! Komponenten mit IPS im Einsatz?
Die Idee der Funkkomponenten für Heizungsregler, Fensterkontakte etc. ist ja gut und auch finanziell interessant.
Dieser Max! Cube kostet wohl auch nicht die Welt und sorgt für autonome Steuerung der Heizung.
AAABER: Viele klagen im ELV Forum über Softwareprobleme, Funktionseinschränkungen.

Mich würde die Verbindung der Funk-Heizkörperthermostate mit IPS interessieren. D.h. Tages/Wochenprogramm zum Thermostaten hochladen und aktuelle Temperaturwerte zum IPS runterladen (Temp.Kontrolle und Charting).

Hat das schon jemand realisiert? Basieren die Funkkomponenten auf einem der bekannten und von IPS unterstützten Standards?

hast Du schon mal die Forensuche probiert?
:wink:

Ja, habe ich. Einen Treffer der paßt, wird ausgeworfen. Aber die Diskussion schweift dann ab zu Rondostaten (??), Eaton etc. (die Systeme kenne ich leider nicht). Zum Schluß paßt das eigentlich wieder zu meiner aktuellen Fragesituation.
Aber wie es aussieht scheint eine direkte Verwendung der Max! Komponenten so momentan nicht möglich.

dann bist du wohl auf dem aktuellen Stand (und es gibt nichts Neues).

Doch es gibt etwas neues… Ich habe aus der Basis des Max-Scriptes von Mega-Nas.de meine eigene, naja, nenen wir es API, gebastelt. Ich gebe mir die verschiedene Werte mittels Parameterabfrage als Text aus und lese die Werte mit file_get_contents in IPS ein. Senden funktioniert natürlich (mittles URL aufruf). Es gibt sicher elegantere Wege aber so komme ich damit gut klar.

Aktuelle frage ich die Thermostatwerte alle 30 Sekunden ab. Viel öfter geht auch nicht weil sonst die CPU von dem MaxCube in die Knie geht und dann hilft nur Hardware-Reset.

Einziges Problem das ich bisher festgestellt habe, ist, das beim ändern der aktuellen Temparatur gelegentlich mehrere Thermostate geändert werden. Ich glaube aber der Fehler liegt am original Script - bisher konnte ich das aber nicht reproduzieren.

Bei Interesse stelle ich die Scripte gerne der Allgemeinheit zur Verfügung. Brauche nur ein paar Tage zum aufräumen. :wink:

Ahh,okay. Also über ein paar Ecken hinweg läßt sich das System beinflussen und auslesen. Aber eine richtige API stellt Max damit nicht zu Verfügung. Das ist eigentlich schade.
Gäbe es da eine offizielle API zur Beeinflussung, Auslesen von Parametern etc. wäre die Sache deutlich einfacher, sicherer und weiter verbreitet.
Ich bin noch am grübeln, ob ich mir da mal ein Starterpaket besorge.

Aktuell würde ich vom Kauf warscheinlich eher abraten. Mein Cube hat bisher schon einmal, aus mir nicht ersichtlichen Gründen, die Konfiguration verloren. Und weil man davon kein Backup machen kann, musste ich alle Thermostate neu anlernen.

Zweitens ist der Cube extrem langsam. Ich habe nur drei Thermostate aktuell im Einsatz, kann mir aber gut vorstellen, dass meine Scripte den Cube in die Knie zwingen wenn man per Schleife mehrere Thernostate gleichzeitig stellen möchte. Erst recht wenn es zu Überschneidungen beim Senden/Empfangen der Werte kommt (Stichwort CPU).

Punkt drei wäre dann wohl die Tatsache, dass sich aus keiner Max Komponente die aktuelle Ist-Temperatur auslesen lässt.

Alles Punkte mit den ich bis jetzt leben kann. Einmal angeschaft werde ich nun wohl auch bei Max bleiben. Nicht zuletzt weil ich alle anderen Funkthermostate hässlich finde. :cool:

Hallo Spezias,
von IPS erhielt ich auf Anfrage die Nachricht, dass nicht geplant ist Max! in nächster Zeit zu implementieren :mad:
Als stand alone funktioniert es bei mir recht gut. Aber auch ich würde es lieber per IPS steuern. Wäre schön, wenn Du die Scripte mal posten könntest. Vielleicht kann man das auch weiterentwickeln.

Ich werde die Scripte am Wochenende mal zusammen packen und hier veröffentlichen.

Super … Vielleicht komme ich dann dem Ziel näher.

So, hier mal die Scripte. Leider fehlt mir im Moment ein wenig die Zeit um ein gescheites How-To dazu zu schreiben, aber vielleicht kommst du (ihr) ja auch so damit klar. Fragen versuche ich natürlich Zeitnah zu beantworten.

Schnellinstallation

Schritt 1:

  • Das max.rar Archiv in den Webfront-Ordner entpacken.
  • In den beiden Dateien read.max.php und send.max.php die Cube-IP anpassen.
  • Mit folgender URL testen ob die Scripte funktionieren: http://ips-server:port/max/read.max.php?sa=true
    Dort sollte dann das Array der Cube-Konfiguration ausgegeben werden.

In dem Array können auch die RF-Adressen der einzelnen Thermostate ausgelesen werden (wichtig für die Konfig in IPS).

Schritt 2:

  • Den Inhalt von scripts.rar in den ips-Scripts Ordner entpacken.
  • Danach im Objektbaum die ganze Variablen wie im Sceenshot zu sehen anlegen bzw. anpassen. In den ganzen verknüpften Scripten müssen natürlich die ObjektIDs angepasst werden.
  • Die IPs und Hosts in der config.max.php anpassen.

Damit sollte dann das ganze laufen. Ich hoffe ich habe in der Schnellanleitung nichts wesentliches vergessen… Ich habe so gut wie es geht die einzelnen Funktionen in den Scripten dokumentiert - kann aber auf die schnelle nicht ausschließen das ich irgendetwas vergessen habe. :slight_smile:

Viel Spaß beim ausprobieren. Einen eigenen/ausführlichen Beitrag hole ich bei Gelegenheit nach.

scripts.rar (1.74 KB)

max.rar (5.09 KB)

Ich habe HIER auch was für euch gefunden.

Keine Ahnung ob es funktioniert, ich habe keine Homematic, ist aber ein PHP-Script, könnte ja laufen.

Gruß Helmut

Hi,

ich habe die Scripte eben mal ausprobiert. Scheint zu funktionieren. Bin beeindruckt.

Zwei Bitten habe ich jedoch noch:

  1. Du hast Den Integer Variablen zum Teil Wertezuordnungen verpasst. Kannst du die ggf. nochmal etwas erläutern?

  2. Im „roominfo.max.php“ wird auf die ID 14521 verwiesen. Diese ist aber im Screenshot nicht zu sehen. Bin mir nicht sicher, was genau die sein soll.

Um die Sache perfekt zu machen vielleicht noch folgende ToDos:

  1. Ein Script was dann die ganzen Variablen und Scripte anlegt
  2. In den Scripten keine IDs benutzen sondern über die Namen der Variablen gehen. Das erspart viel manuelle Anpassung :wink:
  3. Vielleicht noch ein paar Worte zum Thema Webfront und Darstellung der Werte. Wie genau hast Du das gemacht?
  4. Weiter so. Echt geil und GENAU was ich gesucht habe!

Hallo Spezias,

vielen Dank für die Scripts. Ich habe heute etwas testen können.
Das ist genau der richtige Schritt. Gute Arbeit :smiley:

Max! kann ich nun ansprechen und auch die Arrays auslesen.

Ich hänge jedoch beim „Nachbau“ an verschiedenen Kleinigkeiten: :confused:

  • bisher kann ich nur auslesen aber nicht steuern (vgl. Screenshot 1)
  • auch ich bin über ID 14521 gestolpert
  • müssen die RF-Adressen irgendwo eingetragen werden ?
  • ich denke für jeden Raum müssen die Schritte wiederholt und angepasst werden
  • wie hast Du alle Heizungen (in z.B. Urlaubsmodus) verbunden ?
  • wie bekomme ich Status = Auto ?
  • ich habe in einem Raum zwischen 1 - 3 Heizkörper - wie könnte ich das anstellen, da diese ja unterschiedliche RF-Adressen haben ?

Vielleicht kannst Du mir auf die Sprünge helfen.

Ein How to wäre perspektivisch super.

Viele Grüße und Frohe Ostern

Ich hatte in den Scripten bereits angefangen die einzelnen Werte nicht mehr auf die ObjektIDs zu beziehen, sondern eben auf den Namen der Variablen. Da aber die Heizperiode so gut wie vorbei ist, ist die priorität der Max Scripte natürlich ein wenig geschrumpft. Daher habe ich da irgendwann aufgehört. Die Doku zum Ist-Stand kommt natürlich in nächster Zeit.

Die ObjektID 14521 bezieht sich auf eine Integr-Variable die alle Heizungen synchron Steuern soll. Funktioniert aber leider noch nicht. Manche Thermostate machen mit, andere schalten sich in den Vacation-Modus…

@Digihouse:

  • bisher kann ich nur auslesen aber nicht steuern (vgl. Screenshot 1)

Du musst die einzelnen Variablen mit einer eigenen Aktion belegen. Dort wählst du dann das send.max.php Script.

  • müssen die RF-Adressen irgendwo eingetragen werden ?

Ich habe mir hier so geholfen, dass ich die RFAdressen Raumbezogen als Variable angelegt habe, diesen Wert im Script auslese und weiter verwenden.
Es gibt sicher elegenatere Lösungen, aber so bin ich bisher gut ans Ziel gekommen.

  • ich denke für jeden Raum müssen die Schritte wiederholt und angepasst werden

Korrekt.

  • wie hast Du alle Heizungen (in z.B. Urlaubsmodus) verbunden ?

Siehe oben.

  • wie bekomme ich Status = Auto ?

Dazu habe ich mal einen Screenshot in den Anhang gepackt.

  • ich habe in einem Raum zwischen 1 - 3 Heizkörper - wie könnte ich das anstellen, da diese ja unterschiedliche RF-Adressen haben ?

Hmmm… Ich denke du müsstest dir ein neues Script schreiben in dem per Schleife alle RF-Adressen nach einander abarbeitest.

@Konfu:

Deine Wunschliste ist auch meine Wunschliste. :slight_smile:
Zu Punkt 1: Die Werte habe ich alle Raumabhängig definiert um sie anschließend in den Scripten weiter zu verarbeiten. So konnte ich bisher die Scripte immer wieder für jeden Raum verwenden. Ob das die Endlösung sein wird? Keine Ahnung. Bisher habe ich noch nicht alle Räume mit den Thermostaten ausgestattet. Aber der nächste Winter kommt bestimmt. :wink:
Als kleiner Ansatz zur Visualisierung mit dem Webfront - siehe ebenfalls Anhang.

Hi,

bei mir gibt es immer mal wieder massive Aussetzer. Eine Zeit lang funktioniert das Auslesen, dann irgendwann nach einigen Stunden (so im Bereich 8-10 Stunden) geht es dann nicht mehr. Dann hilft nur noch ein Neustart von IPS. Danach geht es dann wieder eine Zeit lang.

Wenn es nicht funktioniert bekomme ich die Meldung, dass der HTTP request „austimed“ (blödes Denglisch).

Jemand 'ne Idee wo ich suchen soll?

Wie oft liest du die Werte aus? Und für wie viele Thermostate?

Der Cube ist relativ schnell überfordert. Anfragen öfter als alle 30sek hauen ihn bei mir völlig aus dem Konzept und dann muss ich den Cube reset’en.

Ich könnte mir auch vorstellen, dass der Cube abstürzt wenn er nach Hause telefoniert und gleichzeitig eine Anfrage von IPS kommt. Was eigentlich sowieso nicht funktionieren dürfte. Der Cube lässt sich jedenfalls nicht per Script ansprechen wenn gleichzeitig die Max!Software läuft.

Vielleicht einfach mal den ausgehenden Internetverkehr für die Cube-IP sperren, wenn der Router es zulässt.

Das werd ich mal probieren.

Ich habe derzeit genau ein Max Device dran und frage alle 10 Minuten ab :wink: An Überforderung kann es also eigentlich nicht liegen :wink:

Werd mal das Ding für’s „nach Hause telefonieren“ sperren.

Mit etwas Zeit denke ich mich als IPS-Anfänger in die Sache hinein. Ich bin nun mit 2 Räumen online. Senden funktioniert gut. :slight_smile:

Das Auslesen macht aber noch Probleme (Could not convert …). Die Variablen habe ich als Integer angelegt (siehe Anhang).
Werden die Daten eigentlich irgendwo zwischengespeichert. Ich habe read.max.php unter /webfront/max liegen - manuell gestartet legt es auch Daten unter /webfront/max/data ab. Kann es sein, dass ich den falschen Ordner benutze ? :confused:

Ich habe die dummy module durch Kategorien ersetzt, so ist mir möglich perspektivisch alle Räume pro Etage in einem Split Pane anzuzeigen.
Ein eigenes Icon wäre dabei auch nicht schlecht. Mir ist es jedoch noch nicht gelungen ein farbiges Icon zu integrieren (32x32 Pixel, 24bit Farbtiefe und einfachs Ersetzen/Umbenennen in webfront/img/icons zeigt nichts brauchbares).

zu konfu:

gestern stolperte ich beim Gegenkontrollieren mit der Max-Software über den „duty cycle“ (siehe screenshot). Vielleicht erklärt das Dein Problem. Ich erkläre mir so bei mir längere Aussetzer mit „connection error“

Eigentlich wäre es hilfreich, wenn man die original Java-Scripts ansprechen und damit einstellen könnte. Mir ist auch Ernies Heizungsscript in die Hand gefallen - zeitliche Programmierungen wären ja sinnvoll.

duty cycle.jpg

Muss man eigentlich per HTTP auf das MAX Gateway zugreifen können? Das klappt bei mir nicht per Browser. vielleicht liegt da schon das Problem :wink: