Makro läuft nicht

Programmierung der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

ph35708
Beiträge: 46
Registriert: 24.12.2008, 01:55

Re: Makro läuft nicht

Beitrag von ph35708 » 05.02.2010, 21:32

Hallo
und guten Abend zusammen
Anbei ein Makro von meinem Dämmerungssensor der Meine Ausenbeleuchtrung ein und ausschalten von ca. 23:00 und 04:00 werden die Lampen über das eigene Zeitprogram der einzelnen Schalter und Dimmer aus und eingeschaltet.
Jede Lampe wird zu einer anderen Zeit geschaltet die ausschaltbefehle gibt es doppelt mit einem abstand von ca 10min.
Es werden immer wieder Lampen nicht aus oder eingeschaltet.

**! ============================================================
**! OBJEKT Daemmerungssensor
**! ============================================================
**! OBJEKT-TYP : EAGeraet
**! BEZEICHNUNG : Daemmerungssensor
**! STARTWERT :
**! ------------------------------------------------------------
**! AUSFÜHRUNGSINTERVALL : nein
**! AUSFÜHRUNG BEI EINGABE : ja
**! AUSFÜHRUNG BEI EMPFANG : ja
**!
**! ============================================================
**! VARIABLENDEFINITIONEN
**! ============================================================
**! NAME TYP STARTWERT
**! ------------------------------------------------------------


ST_aussen_3_Kugeln gleich wie Daemmerungssensor
warte 00:05:10
ST_aussen_3_Kugeln gleich wie Daemmerungssensor
warte 00:05:05
ST_ausen_Treppe_Skuda gleich wie Daemmerungssensor
warte 00:00:30
ST_ausen_Treppe_Skuda gleich wie Daemmerungssensor
wenn Daemmerungssensor eingeschaltet dann
warte 00:15:15
DI_Lampen_Weg_Kring setzen auf Stufe14 Geschwindigkeit 30
wenn-Block-Ende
wenn Daemmerungssensor ausgeschaltet dann
warte 00:10:15
DI_Lampen_Weg_Kring setzen auf runterdimmen Geschwindigkeit 30
wenn-Block-Ende

Wie bekomme ich das Editorfenster direkt hierher übertragen?
Ist es besser ein Makro als Modul „Makro“ zwischen Sender und Empfänger zu setzen?
M.f.G.
Peter aus dem schönen 3 Ländereck Hesse, Rheinland-Pfalz und Nordrhein-Westfalen
HPCL4.0,CCU2 mit FW 2.13.7,1FHZ2000,zur zeit am umstellen von FS20 Auf HomeMatic

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Makro läuft nicht

Beitrag von buempi » 06.02.2010, 16:14

Hallo Peter
ph35708 hat geschrieben:Wie bekomme ich das Editorfenster direkt hierher übertragen?
Ich bin mir nicht sicher - meinst du damit das: Im Editor das ganze Makro markieren und Strg-C drücken. Dann ins Forum wechseln und dort oberhalb des Eingabe-Feldes auf "Code" klicken. Überprüfen, ob der Cursor zwischen den beiden ][ steht und Strg-V drücken. So wird das gesamte Makro sauber als solches dargestellt und die Einrückungen bleiben auch erhalten.
ph35708 hat geschrieben:Ist es besser ein Makro als Modul „Makro“ zwischen Sender und Empfänger zu setzen?
Nein. Jedenfalls nicht im Normalfall; da sollte es im Sensor (Sender) stehen, wie du es gemacht hast.
ph35708 hat geschrieben:die ausschaltbefehle gibt es doppelt mit einem abstand von ca 10min.
Damit meinst du in der Zeittabelle? - Das nützt nichts! Homeputer generiert kein Sendesignal, wenn der angestrebte Zustand mit dem aktuell in der Visualisierung angezeigten Zustand übereinstimmt. Kommt das erste AUS-Signal nicht an, kannst du noch 100 AUS in die Zeittabelle setzen - bringt nichts - es wird nichts gesendet!

Beim dargestellten Makro ist mir nicht klar, was du beabsichtigst. Ist dir bewusst, dass sich die WARTE() kumulieren? "ST_ausen_Treppe_Skuda" z.B. wird erst nach 10 Minuten 15 geschaltet. Und auch hier: Das doppelte "ST_aussen_3_Kugeln gleich wie Daemmerungssensor" führt nicht zu einer Sendewiederholung.

Um eine Sendewiederholung zu erzwingen, gibt es die Anweisung SENDEWERT(). Wenn in den betreffenden Aktoren sonst kein Makro steht, kannst du dort am einfachsten "Ausführen bei Änderung" aktivieren und folgendes eintragen:

Code: Alles auswählen

Warte("00:00:01")
Sendewert(NameDesAktors)
Warte("00:00:01")
Sendewert(NameDesAktors)
So wird jede Zustandsänderung (ob aus der Zeittabelle heraus oder aus irgend einem Makro) 3x an den Aktor gesendet (1x Umschaltung, 2x Sendewert).

Viele Grüsse
Bümpi

ph35708
Beiträge: 46
Registriert: 24.12.2008, 01:55

Re: Makro läuft nicht

Beitrag von ph35708 » 06.02.2010, 19:11

Hallo Bümpi
Danke für deine Hilfe, habe mit den unterschiedlichen Zeiten (warte 10,15min)erreichen wollen die Sendebefehle etwas aus einander zu ziehen und das es nicht so automatisiert aussieht eher als würde man persönlich alles einschalten. Genau das Prinzip möchte ich bei meinem nächsten Objekt einsetzen und zwar ein auf meiner Terrasse installierter Bewegungsmelder soll zwischen 0 und 5 Uhr verschiedene Lampen innen wie außen nacheinander ein und nach einer bestimmten Zeit wieder ausschalten wenn jemand die Terrasse betritt. Werde das Makro heute oder morgen hier einstellen. Die von mir programmierten doppelten Befehle werde ich entfernen oder durch deinen Vorschlag ersetzen!
M.f.G.
Peter aus dem schönen 3 Ländereck Hesse, Rheinland-Pfalz und Nordrhein-Westfalen
HPCL4.0,CCU2 mit FW 2.13.7,1FHZ2000,zur zeit am umstellen von FS20 Auf HomeMatic

ph35708
Beiträge: 46
Registriert: 24.12.2008, 01:55

Re: Makro läuft nicht

Beitrag von ph35708 » 11.02.2010, 19:45

Hallo und guten Abend
Bin leider noch nicht richtig weiter gekommen meine zwei Dimmer machen immer noch was sie wollen.
Ein Störenfried habe ich entlarvt und aus geschalten es war mein Sennheiser Funkkopfhörer der meine ganzen Empfänger im Wohnzimmer Zeit weise lahm gelegt hat.

Code: Alles auswählen

Warte("00:00:01")
Sendewert(NameDesAktors)
Warte("00:00:01")
Sendewert(NameDesAktors)
Ich glaube die Anweisung Sendewert ist bei Dimmer Kontraproduktiv ich habe alles ausprobiert auch über den Timer des Dimmers.
Kann mir jemand sagen in welchem Bereich ich beim rauf und runterdimmen die Geschwindigkeit einstellen kann ich möcht das die Lampen nach den einschalten langsam heller werden. Die Anweisung lautet zurzeit " DI_Lampen_Weg_Kring setzen auf raufdimmen Geschwindigkeit 10" so läuft es im Moment aber die Lampen ziehen sofort ganz auf.
M.f.G.
Peter aus dem schönen 3 Ländereck Hesse, Rheinland-Pfalz und Nordrhein-Westfalen
HPCL4.0,CCU2 mit FW 2.13.7,1FHZ2000,zur zeit am umstellen von FS20 Auf HomeMatic

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Makro läuft nicht

Beitrag von buempi » 12.02.2010, 07:31

ph35708 hat geschrieben:Ein Störenfried habe ich entlarvt und aus geschalten es war mein Sennheiser Funkkopfhörer der meine ganzen Empfänger im Wohnzimmer Zeit weise lahm gelegt hat
Nur im Wohnzimmer? - Die Dinger können dein ganzes Haus und das deines Nachbarn "verpesten"!
ph35708 hat geschrieben:Ich glaube die Anweisung Sendewert ist bei Dimmer Kontraproduktiv
Ja, beim Rauf- oder Runterdimmen! Überall, wo sich eine Aktion aus mehreren Sendebefehlen zusammensetzt, ist SENDEWERT() nicht geeignet. Hatte ich vergessen, zu erwähnen; gilt übrigens auch für die Rollladensteuerung!

Die Syntax deiner Anweisung für das Raufdimmen mit Geschwindigkeitsangabe entspricht der Homeputer-Hilfe und ist also korrekt. Allerdings könnte gerade da SENDEWERT() dazwischenfunken! Geht es auch nicht, wenn du die SENDEWERT() entfernst? - Die Geschwindigkeitsangabe ist zwischen 1 und 30 möglich, wobei 30 die langsamste Stufe ist.

Viele Grüsse
Bümpi

ph35708
Beiträge: 46
Registriert: 24.12.2008, 01:55

Re: Makro läuft nicht

Beitrag von ph35708 » 12.02.2010, 16:59

Hallo
Danke für die Antwort.
Sendewert hatte ich entfernt ab da ging es, ich werde heute noch den Geschwingikeitswert auf 30 setzen mal sehen ob das dann langsam genug ist.
Ich benötige jetzt noch ein Makro um die Lampen nachts runter und morgens wieder rauf zu dimmen kann ich das Makro in mein Objekt Zeit schreiben oder besser zu dem Dimmern?
z.B.:

Ausführungsinterval 5sek.

Uhr:=Uhrzeit
wenn Uhrzeit ="23:45:00" dann
DI_Lampen_Weg_Kring setzen auf runterdimmen Geschwindigkeit 30
endewenn
wenn Uhrzeit ="05:05:00" dann
DI_Lampen_Weg_Kring setzen auf raufdimmen Geschwindigkeit 30
endewenn
M.f.G.
Peter aus dem schönen 3 Ländereck Hesse, Rheinland-Pfalz und Nordrhein-Westfalen
HPCL4.0,CCU2 mit FW 2.13.7,1FHZ2000,zur zeit am umstellen von FS20 Auf HomeMatic

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Makro läuft nicht

Beitrag von buempi » 12.02.2010, 17:39

Hallo Peter

Von der Funktion her spielt es keine Rolle, ob du das Makro in den Dimmer setzst oder in dein "Zeit-Objekt". Das ist eine rein organisatorische Frage, und jeder hat einen etwas anderen Ordnungssinn. Man sollte sich einfach an ein bestimmtes System halten, um nicht früher oder später die Übersicht zu verlieren.

Ich habe bei mir je ein MakroSekunde, Makro5Sek, MakroMinute usw. und im jeweils richtigen die Zeitschaltungen drin. Bei deinem Makro würde übrigens der Intervall "jede Minute" genügen, weil die Zeiten volle Minuten sind. - Theoretisch sogar "alle 5 Minuten", aber das gibt's nicht...

Hoffentlich heisst dein Objekt nicht wirklich "Zeit". So heisst nämlich auch eine Funktion in Homeputer, was zu Problemen führen könnte! In diesem Fall: Umbenennen!

Viele Grüsse
Bümpi

ph35708
Beiträge: 46
Registriert: 24.12.2008, 01:55

Re: Makro läuft nicht

Beitrag von ph35708 » 17.02.2010, 00:06

Hallo
So meine Dimmer laufen jetzt es lag wohl an der Anweisung "DI_Lampen_Weg_Kring setzen auf runterdimmen (raufdimmen) Geschwindigkeit 30" die Dimmer laufen so immer weiter von hell nach dunkel usw. mit der Geschwindigkeit 30!
Ich habe mich immer gewundert das die Lampe mal an mal aus war mal hell mal dunkel es fehlte halt das Komando stopdimmen.
Habe das Makro halt neu geschrieben.

Code: Alles auswählen

**! ============================================================
**! OBJEKT Schaltuhr
**! ============================================================
**! OBJEKT-TYP              : Makro
**! BEZEICHNUNG             : Schaltuhr
**! STARTWERT               : 
**! ------------------------------------------------------------
**! AUSFÜHRUNGSINTERVALL    : nein
**! AUSFÜHRUNG BEI EINGABE  : nein
**! AUSFÜHRUNG BEI ÄNDERUNG : ja
**! 
**! ============================================================
**! VARIABLENDEFINITIONEN
**! ============================================================
**! NAME                TYP                 STARTWERT
**! ------------------------------------------------------------


wenn Uhrzeit ="22:30:00" dann
DI_Lampen_Weg_Kring:=14
warte 00:10:00
DI_Lampen_Weg_Kring:=12
warte 00:10:00
DI_Lampen_Weg_Kring:=10
warte 00:10:00
DI_Lampen_Weg_Kring:=8
warte 00:10:00
DI_Lampen_Weg_Kring:=6
warte 00:10:00
DI_Lampen_Weg_Kring:=4
warte 00:10:00
DI_Lampen_Weg_Kring:=0
endewenn
wenn Uhrzeit ="04:00:00" dann
DI_Lampen_Weg_Kring:=4
warte 00:10:00
DI_Lampen_Weg_Kring:=6
warte 00:10:00
DI_Lampen_Weg_Kring:=8
warte 00:10:00
DI_Lampen_Weg_Kring:=10
warte 00:10:00
DI_Lampen_Weg_Kring:=12
warte 00:10:00
DI_Lampen_Weg_Kring:=14
endewenn
Jetzt habe ich das nächste Problem folgende Lampe und SU_Windfang möchte ich über ein Bewegungsmelder einschalten wenn jemand nach 23:15 und vor 05:00 den Flur betritt ansonsten werden die Lampen über Sonnenauf und -untergang sowie über ihr Zeitprogramm geschaltet.

Code: Alles auswählen

**! ============================================================
**! OBJEKT SU_Gaube_1Stock
**! ============================================================
**! OBJEKT-TYP              : EAGeraet
**! BEZEICHNUNG             : SU Gaube 1Stock
**! STARTWERT               : 
**! ------------------------------------------------------------
**! AUSFÜHRUNGSINTERVALL    : jede volle Stunde
**! AUSFÜHRUNG BEI EINGABE  : nein
**! AUSFÜHRUNG BEI ÄNDERUNG : nein
**! 
**! ============================================================
**! ZEIT-TABELLE (kann [noch] nicht im Editor verändert werden)
**! ============================================================
**! WERT                TAG             UHRZEIT
**! ------------------------------------------------------------
**! aus                 Täglich         23:15:00        
**! an                  Täglich         05:00:05        
**! 
**! ============================================================
**! VARIABLENDEFINITIONEN
**! ============================================================
**! NAME                TYP                 STARTWERT
**! ------------------------------------------------------------


Warte("00:01:00")
Sendewert(SU_Gaube_1Stock)
Warte("00:01:00")
Sendewert(SU_Gaube_1Stock)


Code: Alles auswählen

**! ============================================================
**! OBJEKT Sonnenschaltuhr
**! ============================================================
**! OBJEKT-TYP              : Makro
**! BEZEICHNUNG             : Sonnenschaltuhr
**! STARTWERT               : 
**! ------------------------------------------------------------
**! AUSFÜHRUNGSINTERVALL    : jede Minute
**! AUSFÜHRUNG BEI EINGABE  : nein
**! AUSFÜHRUNG BEI ÄNDERUNG : ja
**! 
**! ============================================================
**! VARIABLENDEFINITIONEN
**! ============================================================
**! NAME                TYP                 STARTWERT
**! ------------------------------------------------------------


wenn Uhrzeit = SONNENAUFGANG dann
   SU_Gaube_1Stock ausschalten
endewenn
wenn Uhrzeit = SONNENAUFGANG dann
   SU_Windfang ausschalten
endewenn
wenn Uhrzeit = SONNENUNTERGANG dann
   SU_Gaube_1Stock einschalten
endewenn
wenn Uhrzeit = SONNENUNTERGANG dann
   SU_Windfang einschalten
endewenn

bis hier scheint alles zu laufen nur das folgende Makro mag nicht

Code: Alles auswählen

**! ============================================================
**! OBJEKT BW_Treppenhaus_1Stock
**! ============================================================
**! OBJEKT-TYP              : EAGeraet
**! BEZEICHNUNG             : BW Treppenhaus 1Stock
**! STARTWERT               : 
**! ------------------------------------------------------------
**! AUSFÜHRUNGSINTERVALL    : jede Minute
**! AUSFÜHRUNG BEI EINGABE  : ja
**! AUSFÜHRUNG BEI EMPFANG  : ja
**! 
**! ============================================================
**! VARIABLENDEFINITIONEN
**! ============================================================
**! NAME                TYP                 STARTWERT
**! ------------------------------------------------------------


wenn Uhrzeit zwischen "23:15:00" und "05:00:00" dann
SU_Gaube_1Stock gleich wie BW_Treppenhaus_1Stock
endewenn
wenn Uhrzeit zwischen "23:15:00" und "05:00:00" dann
SU_Windfang gleich wie BW_Treppenhaus_1Stock
endewenn
warte 15 minuten
BW_Treppenhaus_1Stock ausschalten


M.f.G.
Peter aus dem schönen 3 Ländereck Hesse, Rheinland-Pfalz und Nordrhein-Westfalen
HPCL4.0,CCU2 mit FW 2.13.7,1FHZ2000,zur zeit am umstellen von FS20 Auf HomeMatic

tsa
Beiträge: 725
Registriert: 03.01.2008, 17:42
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Makro läuft nicht

Beitrag von tsa » 17.02.2010, 00:36

Im Makro Sonnenschaltuhr hast Du den AUSFÜHRUNGSINTERVALL auf "jede Minute" gesetzt.
Deshalb wird der Code nach dem "warte 15 minuten" niemals erreicht!!! (Das Makro startet jede Minute neu, wobei es den laufenden Wartebefehl einfach abbricht.)

War es das schon alles, was nicht funktioniert? Ansonsten beschreibe bitte genau was nicht läuft - und nicht nur ein pauschales "MAG NICHT"!

Gruss
Thomas

ph35708
Beiträge: 46
Registriert: 24.12.2008, 01:55

Re: Makro läuft nicht

Beitrag von ph35708 » 17.02.2010, 11:27

Hallo Thomas
Erst mal Danke für deine Antwort, aber ich habe das Gefühl Du hast ein Problem mit mir. :oops:
Wenn es an dem Satz "Ich bin ziemlich angepinkelt von dem Mist :oops: und hoffe das da bald was Besseres kommt (vieleicht mit Peco oder ähnlichem)" liegen sollte das nehme ich hiermit zurück, hätte vielleicht mal früher hier im Forum vorbei schauen sollen. Wirklich alles Super Leute hier hatte mir das eigentlich von den Chefs von Contronics gewünscht aber leider.

"Mag nicht" kann ich Dir auch gerne übersetzen das Makro vom Bewegungsm. wird nicht abgearbeitet, die Lampen werden weder ein noch ausgeschaltet.
Du hast mir aber denke schon geholfen, nur eine Frage hätte ich noch wenn ich in meinem Makro Sonnenuhr sage wenn Sonnenaufgang = Uhrzeit dann Lampe einschalten muss ich da ein Ausführungsintervall setzen oder geht das über Ausführung bei Änderung.

PS.: vielleicht bin ich auch manchmal etwas schwerfällig? kann ja sein. :?

Halt!!!!!!!! da habe ich doch noch was. Eine Lampe die über ein Zeitprogramm geschaltet wird möchte ich gerne über ein Bewegungsm. für 20min einschalten anschließend soll die Lampe ihren vorherigen Zustand wieder annehmen, das heißt an oder aus so wie Sie war bevor der Bewegunsm. eingegriffen hat. :roll:
M.f.G.
Peter aus dem schönen 3 Ländereck Hesse, Rheinland-Pfalz und Nordrhein-Westfalen
HPCL4.0,CCU2 mit FW 2.13.7,1FHZ2000,zur zeit am umstellen von FS20 Auf HomeMatic

Antworten

Zurück zu „homeputer Studio / Standard: Programmierbeispiele“