HomeMatic CCU2 bei ELV bestellen

Wochenprogramm aus externer Anwendung

Nutzung von XML RPC, Remote Script, JSON RPC, XMLAPI

Werbung


Re: Wochenprogramm aus externer Anwendung

Beitragvon sugar76 » 11.01.2018, 18:07

Familienvater hat geschrieben:Das größte Problem ist aber doch, das die Raumverwaltung etc. nicht in der Haussteuerung stattfindet, sondern wie in jedem "Office" in einer bunten Excel-Liste. Und weder die Excel-Liste noch evtl. eine irgendwie geartete Praxis-Verwaltungssoftware bietet die Schnittstelle zur Haussteuerung.

Die Raumverwaltung ist eine Webanwendung und läuft übers Internet. Mein Plan ist, in die Praxis einen Raspberry hinzustellen, der die Raumbelegungen abruft und dann - falls sich die Belegung eines Raums geändert hat - per XMLRPC als Wochenprogramm an die CCU weiterreicht.

Die Thermostate und Homematic-Zentrale gibt es in der Praxis noch nicht, müssen also eh noch besorgt werden. Eine Möglichkeit ist daher auch, das mit FHEM umzusetzen. Dort ist dokumentiert, wie man eine Wochenbelegung ändert: https://wiki.fhem.de/wiki/HomeMatic_Typ ... aturlisten
sugar76
 
Beiträge: 4
Registriert: 02.01.2018, 12:58

Re: Wochenprogramm aus externer Anwendung

Beitragvon Gemelon » 11.01.2018, 18:38

Hallo shugar76,
Ich bin mit meinen Recherchen jetzt schon etwas weiter gekommen. Ich habe herausgefunden das es da wohl mehrere Wege gibt. Am besten fand ich bis jetzt, die Möglichkeit über die XML-API. Man gibt im Browser einfach ein paar Zeilen wie diese ein:
Code: Alles auswählen
http://192.168.178.36/addons/xmlapi/mastervaluechange.cgi?device_id=1332&name=P1_ENDTIME_MONDAY_1&value=360
http://192.168.178.36/addons/xmlapi/mastervaluechange.cgi?device_id=1332&name=P1_TEMPERATURE_MONDAY_1&value=19.000000
http://192.168.178.36/addons/xmlapi/mastervaluechange.cgi?device_id=1332&name=P1_ENDTIME_MONDAY_1&value=1320
http://192.168.178.36/addons/xmlapi/mastervaluechange.cgi?device_id=1332&name=P1_TEMPERATURE_MONDAY_1&value=23.000000
http://192.168.178.36/addons/xmlapi/mastervaluechange.cgi?device_id=1332&name=P1_ENDTIME_MONDAY_1&value=1440
http://192.168.178.36/addons/xmlapi/mastervaluechange.cgi?device_id=1332&name=P1_TEMPERATURE_MONDAY_1&value=19.000000
.
.
.
http://192.168.178.36/addons/xmlapi/mastervaluechange.cgi?device_id=1332&name=WEEK_PROGRAM_POINTER&value=1

Das muss man dann natürlich für jeden schaltpunkt und für jeden Wochentag machen, womit man dann am besten ein C# oder VB Programm beschäftigen sollte. Ich werde das mit einem C# Programm via HttpWebRequest machen, da ich auch mehr als 3 Wochenprogramme benötige. Vermutlich gibt es da auch noch eine elegantere Art mehrere Parameter gleichzeitig zu setzten, aber da habe ich noch nichts gefunden.
Gemelon
 
Beiträge: 12
Registriert: 20.07.2012, 09:04

Re: Wochenprogramm aus externer Anwendung

Beitragvon Familienvater » 11.01.2018, 18:51

Hi,

wenn das "so" einfach in FHEM geht, dann wird es keinen schnelleren Weg geben, als das so zu machen, weil für alles andere musst Du definitiv viel mehr Zeit aufwenden.

Aber:
Auch mit FHEM wird Dir der bei einfachster Programmierung der DutyCycle um die Ohren fliegen, je nach dem, wieviele Thermostate es nachher im Endeffekt sind, und einfachste Programmierung heißt für mich, das um 0 Uhr für jeden Raum geschaut wird, wie der nächste Tag ist, und entsprechend ein Wochenprogramm zusammengebaut wird, und das an jeden betroffenen Thermostat gefunkt wird (Unabhängig davon, ob es Änderung gibt oder nicht). Die nächst cleverere Stufe ist, das z.B. nur noch Sonntags für eine Woche im Vorraus zu erledigen, dann fliegt einem nur einmal die Woche der DC um die Ohren, oder die eh zu erstellende Software auf dem Raspi muss clever genug sein, nur für die Räume ein Update für die Woche oder auch Täglich zu machen, wo sich eine Änderung ergibt (aber auch für diesen Vergleich muss irgendwoher das aktuelle Wochenprogramm kommen).
Aber da die Daten erst mal aus einer Webanwendung geholt werden müssen, die wahrscheinlich nicht einfach per user:password@ requestbar ist, sondern erst irgendwelche Anmelde-Token generiert, und dann entsprechend mitgesendet werden müssen, wird alleine schon das Beschaffen der Rohdaten ein Spaß, aber vielleicht gibt es ja auch JSON-Schnittstellen oder so, wo die Daten einfach und strukturiert abgerufen werden können.

Der Familienvater
Familienvater
 
Beiträge: 5611
Registriert: 31.12.2006, 15:18
Wohnort: Rhein-Main

Re: Wochenprogramm aus externer Anwendung

Beitragvon Xel66 » 11.01.2018, 20:04

sugar76 hat geschrieben:Das Heizungsprogramm soll automatisch anhand der Daten aus der Raumbelegungs-Software angepasst werden.

Warum muss das gemacht werden? Die Heizungsprofile sind viel mehr als Grundeinstellungen zu betrachten. Abweichungen in der Solltemperatur (z.B. zusätzliche Heizzeit) lassen sich jederzeit an die Thermostate übermitteln, ohne dass die Duty Cycle-belastende Grundprogrammierung neu übertragen werden muss. Warum muss für ein "einmaliges" Ereignis oder eine "einmalige" Konstellation die Grundeinstellung geändert werden?

Es gibt viele Beispiele hier im Forum, wie sich externe Webseiten abfragen lassen. Diese Zustände lassen sich jederzeit dann durch ein Script abfragen und entsprechenden Solltemperaturen in den Thermostaten setzen. Ich erkläre das mal an einem Beispiel. Bei mir bilden die Profile der Thermostate den kleinsten gemeinsamen Nenner der Familie ab. Morgens wird in den benutzten Räumen geheizt und dann ab frühen Nachmittag bis zum Abend alle Räume. Alle zusätzlichen Heizzeiten (und durch Schichtarbeit variiert das stark) werden in Abhängigkeit von Systemvariablen an die Thermostate bei Bedarf übermittelt. Hier kann man jederzeit auch im Automatikmodus eine andere Solltemperatur setzten. Stellt das Script nun fest, dass an diesem Tag ein bestimmter Raum genutzt wird, reicht es, diesen Raum auf z.B. Komforttemperatur zu setzen. Zu Feierabend (z.B. 18:00 Uhr) könnten dann alle Thermostate durch ihr jeweilig eigenes Profil auf Absenktemperatur geschaltet werden.

Um mal bei Deinem Beispiel (Montag 12-13/15-18, Di 13-18, Mi 10-13/14-16, Do 12-18, Sa 10-15) zu bleiben. Für Montag würden es reichen, rechtzeitig vor 12:00 Uhr die Heiztemperatur zu setzen und am Mittwoch dann vor 10:00 Uhr, denn eine kurzfristige Absenkung ist je nach Bausubstanz kaum sinnvoll, weil ein Abkühlen mit nachfolgenden Aufheizen mehr Energie benötigt, als ein Durchheizen. Je größer die Pausenzeiten natürlich sind, verschiebt sich diese Rechnung in Sparrichtung. Die Rückstellung ließe sich auch über vielleicht vorhandene Bewegungsmelder ab einer bestimmten Zeit initiieren (keine Bewegung nach bestimmter Uhrzeit, dann Absenktemperatur). Alternativ bekommen alle Thermostate in ihrer Programmierung um 18:00 Uhr die Absenktemperatur. Hierzu wird im Profil einfach von 0:00 Uhr bis 18:00 Uhr die Absenktemperatur im Profil hinterlegt und von 18:00 bis 24:00 Uhr nochmals. Soll ein Raum dann um 12:00 Uhr geheizt werden, dann wird die Solltemperatur durch ein Programm übermittelt und dann durch das Thermostat bis spätestens 18:00 Uhr gehalten. Diese Vorgehensweise erspart die ständige Änderung der Profile.

Es gibt auch im Forum Scriptbeispiele zum Auslesen eines Google-Kalenders, der sich auch zur Steuerung der Heizzeiten gebrauchen ließe, wenn das Auslesen der Webanwendung mit Problemen verbunden wäre.

Gruß Xel66
---------------------------------------------------------------------------------
231 Kanäle in 83 Geräten und 100 CUxD-Kanäle in 19 CUxD-Geräten:
---------------------------------------------------------------------------------
Xel66
 
Beiträge: 3073
Registriert: 08.05.2013, 22:33
Wohnort: Nordwürttemberg

Re: Wochenprogramm aus externer Anwendung

Beitragvon Gemelon » 13.01.2018, 00:16

Prinzipiell sehe ich das wie Xel66, es macht keinen wirklich großen Sinn die Temperatur Halbstundenwiese anzupassen. Je nach Bausubstans, ist es sinnvoller die Räume durchgehend zu heizen. Es kann höchstens sinnvoll sein die Temperatur um ein paar Grad, abzusenken wenn die Räume an diesem Tag nicht verendet werden. Insgesamt sollten dafür die 3 Wochenprogrmme ausreichen.

Aber wie es so ist, langen mir die Drei Wochenprogramme auch nicht.

Ich hätte gerne mehr als 3 Wochenprogramme, was aber scheinbar nicht möglich ist, durch die begrenzte Größe des EEPRONM Speichers des Wandthrmostaten.

Es kommt jetzt darauf an wie gut du dich mit Programmierung auskennst und ob du selbst etwas programmieren möchtest. Ich habe jedenfalls herausgefunden, dass das was ich vorhabe mit einiger Programmiererei leicht möglich ist, aber dazu muss man einiges an eigener Programmierarbeit rein stecken.

Meine Idee ist ein C# Programm zu schreiben, das automatisch zwischen Frühschicht und Spätschicht wechselt (Wochenprogramm 1, Wochenprogramm 2) und dann im Wochenprogramm 3 die Parameter ändert, je nach dem wie ich es für meinen Urlaub brauche oder wenn ich den ganzen Tag Zuhause bin, oder für Situationen die ich jetzt noch nicht kenne. Ich würde also das Wochenprogramm 3 flexibel verwenden. Das Programm sollte im SysTray sein, und der Wechsel sollte über eine Rechtsklick auf das Icon Auswählbar sein.

Ich habe bis jetzt natürlich noch kein funktionierendes Programm, da ich gerade erst angefangen hab mich mit dem Thema zu beschäftigen.

Die Geschichten mit dem SysTray hab ich im Griff, aber die Sache mit dem senden der Daten für dass Wochenprogramm muss ich noch besser verstehen.
Gemelon
 
Beiträge: 12
Registriert: 20.07.2012, 09:04

Re: Wochenprogramm aus externer Anwendung

Beitragvon Xel66 » 13.01.2018, 02:03

Gemelon hat geschrieben:Meine Idee ist ein C# Programm zu schreiben, das automatisch zwischen Frühschicht und Spätschicht wechselt (Wochenprogramm 1, Wochenprogramm 2) und dann im Wochenprogramm 3 die Parameter ändert,...

Die Schichtberechnung kannst Du auch in der CCU direkt machen. Hier habe ich mal eine Anleitung zum Setzen der Schichtsystemvariable geschrieben. Ich betreibe auch meine Heizung ohne jegliche Veränderung der Wochenprogramme in Abhängigkeit vom Schichtplan und berechneten Feiertagen und aus einem Google-Kalender ausgelesene Urlaubstagen. Man kann auch Kalender, die man im Smartphone führt durch Tasker auslesen lassen und entsprechende Systemvariablen setzen lassen. Hier habe ich mal meine Lösung für einen Müllkalender vorgestellt.

Bezüglich des Umschaltens der Parametersets wurde hier schon mal was geschrieben (habe ich in meinen Lesezeichen noch gefunden). Vielleicht ist das auch ein Lösungsansatz für Euch.

Gruß Xel66
---------------------------------------------------------------------------------
231 Kanäle in 83 Geräten und 100 CUxD-Kanäle in 19 CUxD-Geräten:
---------------------------------------------------------------------------------
Xel66
 
Beiträge: 3073
Registriert: 08.05.2013, 22:33
Wohnort: Nordwürttemberg

Vorherige

Zurück zu Entwicklung von externen Applikationen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.