mein Projekt: HomeMatic nur über WebUI

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

Basic
Beiträge: 941
Registriert: 07.03.2010, 11:39
Wohnort: Deutschland
Danksagung erhalten: 5 Mal

mein Projekt: HomeMatic nur über WebUI

Beitrag von Basic » 05.12.2010, 03:50

Hallo.

Ich möchte mal mein Projekt hier vorstellen um dem Einen oder Anderen vielleicht ne Idee zu geben (z.B. Neueinsteigern) oder um selbst noch Anregungen zu erhalten.

Mein Homematic-Projekt ist ein fast 200 Jahre altes Haus für eine Familie was sich noch im Umbau befindet. So werden die noch zu renovierenden Räume erst nach und nach fertig und so kann ich meine Ideen nur Stück für Stück verwirklichen. Da bei 80 cm dicken Wänden ein Wanddurchbruch ne tagesfüllende Aufgabe ist wird das auch sicher noch einige Zeit dauern. :(
Die Automation soll im Hintergrund zuverlässig ihren Aufgaben nachkommen und das so gut wie ohne aktive Benutzereingriffe um die Nutzung für die Kids (4 und 8 Jahre), Frau und Gäste so einfach wie möglich zu halten.
Ideal wäre wenn die Hausbewohner keine Knöpfe mehr drücken müssten. -> Das Haus muss mitdenken.. automatisch..
Es macht tierisch Spass zu "homatisieren" aber ich habe ausser meiner Familie und den Hausbau noch andere schöne Hobbys und es ist auch mal schön wenn alles einfach nur funktioniert und man nicht immer wieder programmieren und basteln muss/darf.

Um das zu ermöglichen nutze ich:
1. ausschließlich WebUI und ne CCU im unveränderten Zustand. So geh ich möglichen Kompatibilitätsproblemen div. Software untereinander, verschiedenen Versionen etc. aus dem Weg.
2. alle Möglichkeiten, die Aktivierung von Programmen an sowieso durchzuführende nicht-HomeMatic-Handlungen zu knüpfen.

Ablauf: Ich beginne mal nachts so 3:00 Uhr - da ist Haus im Modus Nachruhe.
Der Erste, der aufsteht (mit oder ohne Wecker) weckt das Haus via Bewegungsmelder und alles notwendige wird aktiviert (Heizung etc). Passiert das werktags in einem gewissen Zeitfenster wird Wecken Kids und Eltern aktiviert.
Automatische Erkennung von Feiertagen und Urlaub.
Der Letzte, der das Haus verläßt drückt ne Taste, erhält die Info welche Fenster/Türen noch offen sind. Haus schaltet auf Abwesenheit und verriegelt nach kurzer Zeitspanne alle Türen.
Erfolgen über einen gewissen Zeitraum keine Tasterbetätigungen oder Bewegungen dann aktiviert sich automatisch Abwesenheit.
Das Öffnen der Tür erfolgt mit Fernbedienungen, das Haus schaltet auf Anwesend und alles Notwendige wird aktiviert. Sind alle Räume fertig umgebaut wird das dann noch auf den jeweiligen Nutzer abgestimmt.
Öffnen des Fensters im Schlafzimmer Eltern in einem gewissen Zeitrahmen aktiviert die Nachtruhe und dann geht es wieder von vorn los.

Zum Bad warm heizen inkl. temperaturabhängiger Zirkulation durch Bewegungsmelder.
An- und Ausschalten von Licht, Steckdosen (u.a. früh der Wasserkocher), Regelung der Heizung (inkl. Runteregeln bei offenem Fenster) und auch jetzt der Weihnachtsbeleuchtung läuft automatisch und abhängig von verschiedenen Bedingungen.
Man kann an div. Stellen via 19-Tasten Fernbedienung eingreifen muss aber nicht. Da Fernbedienungen die unangehme Eigenschaft haben sehr oft verschwunden zu sein klebt die 19er bei mir im zentralen Hausflur nahe der Wohnungstür. Dadurch sind schnell alle beim Haus verlassen/betreten wichtigen Funktionen erreichbar u.a. Nachtruhe, Haus verlassen, dazu Anzeige noch geöffneter Fenster, Aussentemperatur, Uhrzeit, aufstehen/Haus betreten, Weihnachtsbeleuchtung, Wecken der Kinder aus/ein oder Freistunde und Vorheizen Bad.
Der Zugriff ist auch übers Internet möglich so kann ich z.B. im Urlaub am Rückreisetag die Heizung hochfahren.

Das wars, is nich viel aber es funktioniert sehr gut. WAF steigt und unser großes Kind (8), welches meist als letztes das Haus verläßt findet es prima wenn durch einen Knopfdruck alles ausgeht und die Türen sich verriegeln. :)

Erweiterungen folgen..

Basic
Beiträge: 941
Registriert: 07.03.2010, 11:39
Wohnort: Deutschland
Danksagung erhalten: 5 Mal

Erweiterung 1

Beitrag von Basic » 14.11.2011, 00:31

Nach etwas Bastelarbeit mit einer Schalterschnittstelle und nem Codeschloss läßt sich jetzt die KeyMatic damit bedienen.
Auch neu ein Luftentfeuchter im Bad, um WAF zu erhalten läuft dieser nur bei Abwesend und Nachtruhe.

Basic
Beiträge: 941
Registriert: 07.03.2010, 11:39
Wohnort: Deutschland
Danksagung erhalten: 5 Mal

vorhandene Geräte

Beitrag von Basic » 05.11.2012, 20:17

  • Starthilfe - Dies sollte jeder Einsteiger lesen (rechte Maustaste - öffnen im neuen Tab)
  • RAM Batterien (rechte Maustaste - öffnen im neuen Tab)
  • kein LAN Adapter, kein Repeater
  • 76 Geräte: CCU (Okt 2009) Vers 1.503, 4x Fernbed. (19 Tasten, Key, Panik, 4-fach), KeyMatic mit Codeschloss, 5x Wandthermostat, 10x Stellantrieb, 6x Türkontakt, 6x Fensterdrehgriff, 4x Bew.melder, 5x Steckdosen, 7x Taster (5x 2-fach, 2x 4-fach), 3x Dimmer 1-fach, 2x Rauchmelder, 3x Temps. mit Kabel (1x als Helligkeitsensor), 4x Schaltaktor UP (1x 1-fach, 3x 2-fach), 4x Schaltaktor 4-fach (1x AP, 3x Hut), 7x Jalousie AP, 1x Schnittstelle 3-fach
  • dbaccess
  • System.Exec (mit Prüfschleife) in:
  • BBCode (rechte Maustaste - öffnen im neuen Tab)
  • verstecktes Analysetool im Forum (rechte Maustaste - öffnen im neuen Tab) oder homematic-inside.de
  • Helligkeitssensor (rechte Maustaste - öffnen im neuen Tab)
  • nochmal Antennentuning (rechte Maustaste - öffnen im neuen Tab)
Zuletzt geändert von Basic am 19.11.2012, 17:52, insgesamt 6-mal geändert.

Basic
Beiträge: 941
Registriert: 07.03.2010, 11:39
Wohnort: Deutschland
Danksagung erhalten: 5 Mal

Einstellungen einiger Geräte

Beitrag von Basic » 10.11.2012, 01:38

Nach dem Einstellen eines Gerätes müssen Konfigurationsdaten zu dem Gerät gesendet werden. Manche Geräte z.B. 19-Tasten FB, Zwischenstecker, Wandthermostat übernehmen es ohne weiteres zutun. Andere Geräte z.B. bei Tastern, Kontaktsensoren muss man am Gerät die Anlerntaste drücken - genauere Erklärung auf homematic-inside.de

Damit die gesamte Funk-Übertragung schnell abläuft und um das Funkaufkommen zu Reduzieren erstmal auf die Verschlüsselung verzichten.
einstell_standard.jpg
Übertragungsmodus
einstell_standard.jpg (43.42 KiB) 31359 mal betrachtet
Damit bei neuen Geräte die Funktion und der Programmablauf nachvollzogen werden kann die Protokollierung aktivieren.
einstell_fenster.jpg
Übertragung Standard, Protokollierung an
Einstellungen Bewegungsmelder
einstell_bwm.jpg
Bewegungsmelder
Um Kontaktprellen oder das Melden der Mittelstellung des Fensterdrehgriffes zu vermeiden (beim Wechsel zwischen geschlossen - gekippt) wird eine Meldeverzögerung eingestellt. Eine ausführliche Beschreibung auf homematic-inside.de
einstell_fensterkontakt.jpg
Fensterdrehgriff oder Türkontakt
Damit ein Wandthermostat bei Ausfall der CCU einen Raum richtig heizt sind alle 24 möglichen Schaltpunkte eingetragen. Um Funkkollisionen mit anderen WT zu vermeiden sind diese mit 10 min Zeitversatz programmiert. Der nächste WT startet mit 0:10 Uhr - 1:10 Uhr. Am WT auf die Betriebsart "Auto" stellen (eine Erklärung) und den Tastenschutz aktivieren.
Zur Heizungssteuerung gibt es mehrere Möglichkeiten:
einstell_wt.jpg
Wandthermostat
Beispiel_Raum.jpg
Programm für einen Raum
Beispiel_Pumpe.jpg
Programm für Pumpe
Beispiel_Heizung.jpg
Aus Sicherheitsgründen eine Einschaltdauer für die Heizung setzen!
Zuletzt geändert von Basic am 24.11.2012, 01:26, insgesamt 15-mal geändert.

Basic
Beiträge: 941
Registriert: 07.03.2010, 11:39
Wohnort: Deutschland
Danksagung erhalten: 5 Mal

Programmtipps

Beitrag von Basic » 10.11.2012, 02:31

Wenn ein beleibiger Aktor ein und ganz sicher wieder ausgeschalten werden soll (z.B. Heizung, Luftentfeuchter), wird hier mit dem Einschaltbefehl auch die Einschaltdauer übertragen und im Aktor hinterlegt. Auch wenn zum Ausschaltzeitpunkt die CCU nicht erreichbar ist wird der Aktor sicher ausgeschalten. Entlastet CCU/Funkverkehr da nur ein Sendevorgang und das Countdown runterzählen im Aktor läuft.
prog_einschaltdauer.jpg
Einschaltdauer
Zur Streckung des Funkverkehrs, Reduzierung von Kollisionen und Entlastung der CCU werden Aktionen immer verzögert ausgeführt. Auch das Ende einer Aktion, hier Beispiel Einschaltdauer wird zeitlich versetzt geplant. Dazu hier ein ausführlicher Beitrag.
prog_verzoegerung.jpg
verzögerte Ausführung von Aktionen
Da die CCU den Status der Aktoren speichert kann zur Reduzierung des Funkverkehrs der Status eines Gerätes im "Wenn"-Teil eines Programms abgefragt werden. Wenn der Aktor einen Zustand erreichen soll, den er sowieso schon hat, dann sendet die CCU keinen Schaltbefehl.
prog_abfrage.jpg
Status prüfen bevor ein Schaltvorgang gesendet wird
In der CCU ist hinterlegt ob ein Aktor aus- oder eingeschalten ist. Wenn man aber ein Programm schreibt was einen eingeschaltenen Aktor nochmal einschaltet, dann sendet es den Einschaltbefehl nochmal - weil man es so programmiert hat. Die CCU macht genau das was man programmiert.
"Computer sind dumm, die machen nur das was man ihnen sagt/programmiert."
Gibt es einen Aktor der dringend und 101%ig ein-/ausgeschalten werden soll dann macht es Sinn den Befehl mehrfach zu senden.
Auch kann man mit dem Einschaltbefehl eine Einschaltdauer senden. Beispiel Bewegungsmelder: Bei jeder Bewegung wird die z.B. 5 minütige Einschaltdauer gesendet, also bei jeder Bewegung beginnt der Countdown von vorn.
Anderes Beispiel: Wenn bei jeder Heizwassertemp.übermittlung über einen bestimmten Wert x die Umwälzpumpe eingeschalten werden soll obwohl diese schon läuft, dann hat man in einer Stunde 20 bis 30 Funkmeldungen von CCU zum Aktor zusätzl. die Rückmeldung von Aktor. Dort macht es Sinn den Schaltzustand der Pumpe unter "Wenn" abzufragen und den Einschaltbefehl für die Pumpe nur zu senden wenn diese "aus" ist.
Zuletzt geändert von Basic am 21.11.2012, 00:41, insgesamt 3-mal geändert.

Basic
Beiträge: 941
Registriert: 07.03.2010, 11:39
Wohnort: Deutschland
Danksagung erhalten: 5 Mal

Geräte miteinander verknüpfen

Beitrag von Basic » 10.11.2012, 03:18

Wenn man eine Weile zu dem Thema liest kommt man zu der Erkenntnis, dass man zuerst alle Geräte an der CCU anlernen sollte und diese Geräte dann in der CCU zu einer Direktverknüpfung verbindet. Diese Methode scheint sowohl beim Einrichten als auch im laufenden Betrieb am zuverlässigsten zu sein.

Nach Einrichten einer Direktverknüpfung oder eines Programms müssen Konfigurationsdaten zu den jeweiligen Geräten gesendet werden. Manche Geräte z.B. 19-Tasten FB, Zwischenstecker, Wandthermostat übernehmen es ohne weiteres zutun. Andere Geräte z.B. bei Tastern, Kontaktsensoren muss man am Gerät die Anlerntaste drücken - genauere Erklärung auf homematic-inside.de

Eine Direktverknüpfung:
  • von Geräten heißt sie kommunizieren direkt miteinander (ohne CCU).
  • kann komplett ohne CCU betrieben werden, dann allerdings nur mit Standard-Einstellungen.
  • hat mithilfe der CCU besonders im Expertenmodus (leider noch undokumentiert) viele Einstellungsmöglichkeiten - siehe auch homematic-inside.de oder im Forum
  • übermittelt trotzdem den Status der angelernten Geräte an die CCU.
  • entlastet die CCU.
  • sollte schneller schalten da der Umweg über die CCU entfällt.
screen_direkt.jpg
Übersicht Direktverknüpfung
einstell_bwm_lampe_direkt.jpg
Beispiel Direktverknüpfung Bewegungsmelder - Lampe
Z.B. ein Kanal eines Tasters kann mit mehren Kanälen (auch verschiedener Aktoren) verbunden werden.
  • Tasterdruck oben macht Rollo hoch
  • Tasterdruck runter macht Rollo runter + Dimmer aus + Licht aus + Bewässerung aus
Auf das Bild mit der rechten Maustaste klicken und öffnen im neuen Tab.
screen_direkt_kanal.jpg
ein Kanal vom Taster direkt verknüpft mit vier Aktoren
Man kann die Direktverknüpfung beliebig konfigurieren, jeder Aktor, jede Firmwareneuerung bringt andere Optionen mit. Hier alle aufzuzeigen würde den Rahmen sprengen und wahrscheinlich nie alle Möglichkeiten aufzeigen. Deshalb nur zwei Beispiele von häufig verwendeten Aktoren:
direkt_dimmer.jpg
eine Möglichkeit für Dimmer
direkt_aktor.jpg
eine Möglichkeit für Schaltaktor
screen_direkt_anzahl.jpg
Anzahl möglicher Direktverbindungen
Durch Programmerstellung in der CCU:
  • sind sehr viele Schaltvarianten möglich.
  • kann man uhrzeitgesteuerte Aktionen ausführen.
  • lassen sich Systemvariablen abfragen/einbinden.
screen_prog.jpg
Übersicht Programme
Auch auf homematic-inside.de gibt es dazu noch eine Beschreibung, sowie hier einen Beitrag:
screen_samba.jpg
Auch möglich der Einsatz von virtuellen Tasten, Details auf homematic-inside.de
Zuletzt geändert von Basic am 21.11.2012, 00:42, insgesamt 8-mal geändert.

Basic
Beiträge: 941
Registriert: 07.03.2010, 11:39
Wohnort: Deutschland
Danksagung erhalten: 5 Mal

Anlernvorgang

Beitrag von Basic » 11.11.2012, 11:56

Dazu im WebUI oben rechts auf "Gerät anlernen" klicken und während der Countdown runterzählt die Anlerntaste am Aktor drücken.
anlern_aktiv.jpg
anlern_aktiv.jpg (38.92 KiB) 31340 mal betrachtet
Ist der Anlernmodus beendet steht unten im Posteingang das neue Gerät.
anlern_ende.jpg
anlern_ende.jpg (87.78 KiB) 31340 mal betrachtet
Dann im Posteingang das Gerät aufrufen (alle "+" Zeichen vor dem Gerät aufklappen!) und
komplett (inkl. aller Kanäle) den Räumen und Gewerken zuordnen, Namen vergeben und Protokollierung aktivieren.
Als nächstes in der rechten Spalte alle kleinen "fertig" Boxen markieren. Danach oben rechts auf "fertig" klicken - die Geräte verschwinden aus dem Posteingang und sind in der normalen Geräteliste zu finden.
Auf das Bild mit der rechten Maustaste klicken und öffnen im neuen Tab.
anlern_alles.jpg

Basic
Beiträge: 941
Registriert: 07.03.2010, 11:39
Wohnort: Deutschland
Danksagung erhalten: 5 Mal

Unterschiede zwischen Geräten

Beitrag von Basic » 21.11.2012, 11:50

Schalterschnittstelle hier

Basic
Beiträge: 941
Registriert: 07.03.2010, 11:39
Wohnort: Deutschland
Danksagung erhalten: 5 Mal

Signatur

Beitrag von Basic » 21.11.2012, 12:33


Basic
Beiträge: 941
Registriert: 07.03.2010, 11:39
Wohnort: Deutschland
Danksagung erhalten: 5 Mal

Alle Geräte in einem Gewerk automatisch ansprechen, z.B. alle Lichter aus

Beitrag von Basic » 05.01.2020, 20:18

So habe ich es gemacht:
Das Gewerk "zugleich_Aus" erstellt.
Alle Geräte, die geschaltet werden sollen, diesem Gewerk zugeordnet.
Ein Programm erstellt welches durch eine virtuelle Taste gestartet wird und folgendes Script ausführt.
Verschiedene Auslöser die diese virtuelle Taste "betätigen".

Code: Alles auswählen

var myAssembly = dom.GetObject("zugleich_Aus");
string itemID;
foreach(itemID, myAssembly.EnumUsedIDs())
{
var item = dom.GetObject(itemID);
if (item.IsTypeOf(OT_CHANNEL))
{
var device = dom.GetObject(item.Device());
if (device.HssType() == "HM-LC-Sw1-Pl") { item.State(0); }
if (device.HssType() == "HM-LC-Sw1-Pl-2") { item.State(0); }
if (device.HssType() == "HM-LC-Sw1-FM") { item.State(0); }
if (device.HssType() == "HM-LC-Sw2-FM") { item.State(0); }
if (device.HssType() == "HM-LC-Sw4-DR") { item.State(0); }
if (device.HssType() == "HM-LC-Dim1L-Pl") { item.State(0.00); }
if (device.HssType() == "HM-LC-Dim1L-CV") { item.State(0.00); }
if (device.HssType() == "HM-LC-Sw4-SM") { item.State(0.00); }
}
}
Tips:
Als Gewerk kann man auch Weihnachtsbeleuchtung o.a. anlegen.
"State(0)" Wert bedeutet "aus" und "State(1)" bedeutet "ein".
Die Bezeichung des Gerätes z.B. HM-LC-Sw1-FM muss natürlich im Script vorkommen, ggf ergänzen.

Links die das Thema auch behandeln:
viewtopic.php?f=31&t=53800&p=535338 (rechte Maustaste - öffnen im neuen Tab)
viewtopic.php?f=31&t=38624 (rechte Maustaste - öffnen im neuen Tab)
Zuletzt geändert von alchy am 05.01.2020, 21:09, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

Antworten

Zurück zu „Projektvorstellungen“