Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

mpcc
Beiträge: 710
Registriert: 09.03.2007, 16:38
System: sonstige
Wohnort: Eichwalde bei Berlin
Hat sich bedankt: 6 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung

Beitrag von mpcc » 24.03.2009, 21:05

Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung ec.ec.

Falls es sich noch nicht rumgesprochen hat .....

Beim ehomeportal wird es ab Anfang Mai vorerst exclusiv den Raumregler des HomeMatic-Systems als einzelne Komponente
geben, wobei die Menge begrenzt ist und die Vorreservierungen schon laufen .....

Da es vorerst keinen Raumregler geben wird, an dem man wie im FS20 System (FS20 STR) einen Schaltaktor anmelden kann
und es uns auch nicht gelungen ist eine Ergänzungsprogrammierung zu erhalten, haben wir zumindest erreicht, das wir den Raumregler
einzeln anbieten können.

Damit und nur in Verbindung mit der Zentrale werden aber sehr viele Anwendungsmöglichkeiten erschlossen.

- Raumreglung für Fußbodenheizung mit Schaltaktoren
- Beschattungslösungen z.b. für Wintergärten
- Belüftungslösungen
usw.

Wir möchten an dieser Stelle mit Euch die für diese Einsatzfälle notwendigen Scripts erarbeiten und hoffen auf fleissige Mitarbeit...

Einsteigen möchten wir mit einem Raumregler und einem Schaltaktor für die Steuerung einer Fußbodenheizung oder eines Elektroheizkörpers:

1. Anlegen eines eigenen Programms in der WEBUI
2. Bedingung = Zeitmodul
3. Einstellen auf z.b. eine Zeit aller 2 min.
d.h. aller 2 min. wird das Programm ausgeführt
4. Als "Aktivität" -> Script auswählen
5. Als Script hier ein Beispiel für eine Elektro-Heizungssteuerung:

! HomeMatic Raumregler einzeln zur Steuerung von Schaltaktoren
! für Fussbodenheizung, Gewächshäuser, Keller ec.ec.
! Variablen intern definieren
! Ist-Temperatur Raumregler Buero = TRIBuero ....
var TRIBuero = dom.GetObject("BidCos-RF.FEQ000xxxx:1.TEMPERATURE").Value();
var TRSBuero = dom.GetObject("BidCos-RF.FEQ000xxxx:2.SETPOINT").Value();

! Werte holen und in die in der WEBUI definierten Systemvariablen eintragen
! Anzeige der Werte in der WEBUI
dom.GetObject("TempBueroIst").State(TRIBuero);
dom.GetObject("TempBueroSoll").State(TRSBuero);

! Berechnen

if (TempBueroIst<TempBueroSoll)
{
! Hiermit wird der Schaltaktor für 140 sekunden eingeschaltet
dom.GetObject("BidCos-RF.EEQ000xxxx:1.ON_TIME").State(140.00);
dom.GetObject("BidCos-RF.EEQ000xxxx:1.STATE").State(true);
}

Entscheidend als erste Sicherheitsmaßnahme ist das Einschalten des Aktors für eine Zeit von xx Sekunden. Erhält der Schaltaktor
innerhalb dieser Zeit keinen neuen Befehl schaltet er sich aus. Damit ist gewährleistet, daß auch beim Ausfall der CCU eine Elektro-
Heizung nicht einfach weiter heizt.


Jetzt ist eure Hilfe gefragt , denn als 2. Sicherheitsmaßnahme sollte auch der Ausfall des Raumreglers Einzeln berücksichtigt werden !

Hierzu sollte man die Aktualisierungszeit des Raumreglers abfragen und dann errechnen ob diese Zeit z.b. länger als 10 min. zurück liegt.
Wäre das der Fall sollte der Schaltaktor auch nicht mehr angesteuert werden da ev. der Raumregler ausgefallen ist .....

Hat jemand Vorschläge wie wir das lösen können ?
Gruss Marco Pniok
http://www.piotek-smarthome.de
Systemhaus für SmartHome mit HomeMatic, HomeMatic IP, PioTek, CUxD, IP-Symcon, Symbox Pro, Shelly, Eltako, free@home, PEHA, Synco Living.

Benutzeravatar
kaju74
Beiträge: 2050
Registriert: 06.03.2007, 13:14
Danksagung erhalten: 19 Mal
Kontaktdaten:

Re: Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung

Beitrag von kaju74 » 25.03.2009, 00:01

Also das Auslesen der letzten Aktualisierung kann ich beisteuern:

Code: Alles auswählen

var dpActor = dom.GetObject("BidCos-RF.FEQ000xxxx:1.TEMPERATURE");
var tsActor = dpActor.Timestamp();
...das vergleichen mit der aktuellen Uhrzeit:

Code: Alles auswählen

var dtSystem = system.Date();
...will aber nicht klappen!

Gruß,
kaju

dirch
Beiträge: 579
Registriert: 24.10.2008, 03:26
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung

Beitrag von dirch » 25.03.2009, 00:33

Code: Alles auswählen

integer dtSystem = system.Date("%F %T").ToTime().ToInteger();
und

Code: Alles auswählen

integer tsActor = dpActor.Timestamp().ToInteger();
Sollte vergleichbarer sein 8)

Gruss,
Dirch (der schon so einen Raumregler reserviert hat :mrgreen:)
Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris . ...

Benutzeravatar
kaju74
Beiträge: 2050
Registriert: 06.03.2007, 13:14
Danksagung erhalten: 19 Mal
Kontaktdaten:

Re: Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung

Beitrag von kaju74 » 25.03.2009, 10:05

Guten Morgen.

Das mit den Typecasts hatte ich gestern auch probiert...war wohl schon zu spät :wink:

Na dann...kann's ja weiter gehen....

Gruß,
kaju

mpcc
Beiträge: 710
Registriert: 09.03.2007, 16:38
System: sonstige
Wohnort: Eichwalde bei Berlin
Hat sich bedankt: 6 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

Re: Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung

Beitrag von mpcc » 25.03.2009, 10:20

hmmmm

nun seid nicht so geizig und ergänzt doch das Ganze bitte :

integer dtSystem = system.Date("%F %T").ToTime().ToInteger();
integer tsActor = dpActor.Timestamp().ToInteger();

Haben wir also die aktuelle Systemzeit (dtSystem) im Integerformat und
die Actorzeit auch im Integerformat

Wie wandeln wir jetzt z.b. 10 min. in Integer um dann eventuell
so zu rechnen

Wenn dtSystem minus tsActor > 10 min . dann .....

?

Gruss
Gruss Marco Pniok
http://www.piotek-smarthome.de
Systemhaus für SmartHome mit HomeMatic, HomeMatic IP, PioTek, CUxD, IP-Symcon, Symbox Pro, Shelly, Eltako, free@home, PEHA, Synco Living.

Benutzeravatar
kaju74
Beiträge: 2050
Registriert: 06.03.2007, 13:14
Danksagung erhalten: 19 Mal
Kontaktdaten:

Re: Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung

Beitrag von kaju74 » 25.03.2009, 10:27

Ohne jetzt vor der CCU zu sitzen, müsste die Substraktion der beiden Zeiten bereits eine Differenz auf Sekunden-Basis(?) sein. Lass Dir die Zeit doch mal ausgeben. ABER:

Ich hatte gestern das Problem auf meiner CCU, das der Timestamp ein Datum vom Januar hatte. Daher dürfte nur der Zeitanteil berechnet werden, und dass dann auch über die Tagesgrenze hinweg. Da müsste ich mit den aktuellen Angaben heute Abend noch mal ran.

Gruß,
kaju

dirch
Beiträge: 579
Registriert: 24.10.2008, 03:26
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung

Beitrag von dirch » 25.03.2009, 10:48

Code: Alles auswählen

integer dtSystem = system.Date("%F %T").ToTime().ToInteger();
integer tsActor = !dpActor.Timestamp().ToInteger();

if( (tsActor + 600) < dtSystem) {
   WriteLine("Letztes update des aktors vor mehr als 10 minuten (60*10 sekunden)");
} else {
   WriteLine("Alles im gruenen bereich");
}
@kaju: auch wenn das datum auf Januar steht (weil ggf. nach CCU reboot kein NTP server zur verfuegung steht), dann sollte das letzte aktor update auch januar sein. Wenn nicht dann wurde der aktor noch nie aktualisiert.
Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris . ...

Benutzeravatar
kaju74
Beiträge: 2050
Registriert: 06.03.2007, 13:14
Danksagung erhalten: 19 Mal
Kontaktdaten:

Re: Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung

Beitrag von kaju74 » 25.03.2009, 11:00

...das war ja das komische. Systemzeit in der CCU war sekundengenau richtig (24.03.2009 23:xx:yy irgendwas) aber vom Aktor stimmte NUR die Uhrzeit. Das Datum war vom Januar.... :?: :?:

Gruß,
kaju

mpcc
Beiträge: 710
Registriert: 09.03.2007, 16:38
System: sonstige
Wohnort: Eichwalde bei Berlin
Hat sich bedankt: 6 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

Re: Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung

Beitrag von mpcc » 25.03.2009, 11:01

danke Euch !

das bedarf jetzt erst mal eines Tests und dann ergänze ich
den 1. Beitrag

Gruss
Gruss Marco Pniok
http://www.piotek-smarthome.de
Systemhaus für SmartHome mit HomeMatic, HomeMatic IP, PioTek, CUxD, IP-Symcon, Symbox Pro, Shelly, Eltako, free@home, PEHA, Synco Living.

dirch
Beiträge: 579
Registriert: 24.10.2008, 03:26
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Re: Raumregler Einzeln für Fußboden-/Elektroheizung/Beschattung

Beitrag von dirch » 25.03.2009, 14:26

kaju74 hat geschrieben:Das Datum war vom Januar.... :?: :?:
zufaellig der 08.01.2009, nach 9:20? :roll:

weil:
~ # date -r /bin/rfd
Thu Jan 8 09:20:32 CET 2009
(date -r zeigt das aenderungsdatum der datei an)

Das ist die zeit die nach dem zentralen neustart defaultmaessig gesetzt wird, zumindest in der firmware 1.304. Ist vermutlich der zeitpunkt an dem die firmware compiliert wurde. Wenn ein NTP server erreichbar ist wird die uhr danach neu gesetzt, wenn keiner erreichbar ist dann laeuft die zentrale mit dem datum weiter bis man die zeit manuell einstellt. Aenderungen der Systemzeit haben anscheinend einfluss auf die funkkommunikation, ich hatte mehrfach in dem zusammenhang service meldungen ueber gestoerte kommunikation.

1 zentrale kommuniziert mit aktor um 15:30 am 08.01.2009 und merkt sich das.
2 zeit der zentrale wird umgestellt, ist nun 13:28 am 25.03.2009
3 zentrale prueft zwischendurch ob sie in den letzten x stunden mit dem aktor kommuniziert hat (keep alive maessig), dabei stellt sie fest dass die letzte kommunikation 3 monate zurueck liegt und generiert eine UNREACH service meldung.
4 zentrale testet ob kommunikation aktuell geht und da es ja eigentlich keine probleme gibt erzeugt sie keine STICKY_UNREACH service meldung

<edit: punkt 4 hinzugefuegt>
Zuletzt geändert von dirch am 25.03.2009, 15:33, insgesamt 3-mal geändert.
Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris . ...

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“