Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ich auch. Ist für mich auch nach 3 Monaten noch lesbar im Code (XML) und irgendwie logisch aufgebaut.
Hallo Bodo
Gibt es denn irgend wo ein Beispiel für eine Schaltuhr mit XML Code? Da ich noch Anfänger bin möchte mal starten indem ich die Uhrzeit auf den Bus sende und als erweiterung mit einer Schaltuhr ausbauen.
Nein das ist nicht möglich. Denn die Zeiten werden ja statisch in die config eingetragen. Wie soll die cometvisu da die Werte überschreiben. Dazu müsste die Cometvisu ja die configdate parsen, den Wert ändern und die datei wieder speichern. Dies wäre soo Plugin spezivisch dass sich für die Idee warscheinlich kein Programmierer finden wird...
Da würde sich wohl vorher noch einer finden, der ein Schaltuhr Widget für die CometVisu auf der Basis von cron entwikeln würde. Denn Cron steht eigentlich auf jeder Linuxkiste bereit.
In dem anderen Tread habe ich die Lösung für mein Problem gefunden. Ich habe die Plugins diregt über den Editor im Wiregate angelegt und die Plugins ohne der Endung .pl angelegt (hätte vermutet, dass dies automatisch angehängt wird).
Somit wurde der Sonnen Aufgang zwar korrekt berechnet das emx_uhr plugin hat die Variable aber nicht gefunden.
Habs nun mal geändert und bin gespannt, ob die Weihnachtsbeleuchtung nun richtig an geht und nicht mitten in der Nacht das Haus erhellt.
Danke schonmal für die Hilfe und das bereitstellen der Plugins. Das ist das erste wiregate plugin das ich verwende und ich bin begeistert, wie einfach es ist damit Schaltzeiten zu definieren. :-)
Kein Vergleich zu den Zeitschaltuhren meiner alten Wohnung.
Vielleicht findest Du dort Antworten, ich habs Deine Einträge mangels Zeit noch nicht im Detail angeschaut. Andernfalls bitte dort weitermachen, es geht sonst mit den Plugins durcheinander.
Das Plugin emax_sonne berechnet den sonnen auf- und untergang und legt die berechneten Zeiten in die plugin_info tabelle. Auf diesen Wert greift dann das Plugin emax_uhr zu und berechnet zusammen mit deinem offset den Schaltzeitpunkt. Doch genau dieser zweite Teil fehlt in der Pluginversion der emax_uhr wesshalb es nicht klapt.
Also... Suche die neuere Version oder frage am besten emax mal ob er dir diese zur verfügung stellen kann.
Ich hatte vermutet, das die Logik für den Sonnenstand komplett in der config abgebildet ist. Und diese nur die berechneten Werte dem Zeitschaltuhr Plugin zur Verfügung stellt.
Ja aber wenn ich das plugin emax_uhr richtig gelesen habe, wird da die Dämmerungsfunktion noch nicht unterstützt. Vieleicht gibt es hier im Forum eine neuere Version die zu der Config passt.
in der Konfiguration ist die Sonnenstandsberechnung hinterlegt. Dachte daher eher daran, dass ich ein Fehler bei der Konfiguration mache, allerdings hatte ich mich da an den angegebenen Beispielen orientiert.
Hier nochmal Config aus dem SVN bis auf die @Zeiten ist bei mir alles identisch.
Gruß
André
Code:
# Konfigurationsbeispiel für Sonenabhaengige Schaltungen## License: GPL (v2)# $Id: emx_uhr.conf.sample2 $# Copyright: Edgar (emax) Hermanns, forum at hermanns punkt net#----------------------------------------------------------------------# extra Funktionen# # Die Funktionen erlauben die Rueckgabe von Werten relativ zum Sonnenauf- # bzw. -untergang. ## ACHTUNG: Das funktioniert nur, wenn dass 'emx_sonne.pl' Plugin aktiv # ist, welches ein mal taeglich den Sonnenaufgang und den # Sonnenuntergang berechnet und in %plugin_info abspeichert.## Funktionen:## sonnUntHH: gibt die Stunde des Sonnenuntergangs plus $1 zurueck.# Moechte z.B. man die Stunde um 1:45 _vor_ Sonnenuntergang # erhalten, ruft man 'sonnUntHH(-1.75)' auf.# Die Funktion gibt nur die Stunde zurueck. # ACHTUNG: Es muss trotzdem die komplette Zeitangabe# inklusive Stundenbruchteil als Parameter angegeben # werden.## Beispiel: Sonnenuntergang um 18:15 Uhr# Geplante Schaltzeit 1,5 Stunden vorher## Aufruf: sonnUntHH(-1.5);# Rueckgabewert: 16 (= 18:15 minus 1:30 = 16:45)# # Positive Werte ergeben natuerlich eine spaetere Schaltzeit:# # Aufruf: sonnUntHH(1.75)# Rueckgabewert: 20 (= 18:15 plus 1.75 = 20:00)## Die Dezimalwerte fuer die Stundenbruchteile muss man nicht # ausrechnen, das macht perl von selber. Wer zum Beispiel# Eine Stunde und 13 Minuten vorher Schalten moechte,# kann das so schreiben:# # Aufruf: sonnUntHH(-1.216667)## oder einfacher auch so:## Aufruf: sonnUntHH(-(1.0 + 13/60))## sonnUntHH: gibt die Minute des Sonnenuntergangs plus $1 zurueck.# Es gelten die gleichen Regeln wie oben.# # sonnAufHH: dto. fuer Sonnenaufgangs-Stunde# sonnAufMM: dto. fuer Minute.##----------------------------------------------------------------------sub sonnUntHH(){ # Rueckgabe Sonnenuntergangs-Stunde + $1 Std # Die Angabe $1 muss die vollstaendig abzuziehende/addierende Zeit # in HH.MM (als float) beinhalten, auch die Minuten! # Beipiel: Eindreiviertel Stunden = 1:45 = 1.75 # Es wird nur die Stunde zurueckgegeben. my $offset = shift || return int($plugin_info{'emx_sonne.pl.unt'}); $offset = int($offset * 1000); ($offset < 0) and $offset = 24000 + ($offset % 24000); return int ((($plugin_info{'emx_sonne.pl.unt'} * 1000 + $offset) % 24000) / 1000);} # sonnUntHHsub sonnUntMM(){ # Rueckgabe Sonnenuntergangs-Minute + $1 Offset my $offset = shift || return $plugin_info{'emx_sonne.pl.untMM'}; $offset = int($offset * 1000); ($offset < 0) and $offset = 24000 + ($offset % 24000); return int ((($plugin_info{'emx_sonne.pl.unt'} * 1000 + $offset) % 1000) * 60 / 1000 );} # sonnUntMMsub sonnAufHH(){ # Rueckgabe Sonnenaufgangs-Stunde + $1 Std # Die Angabe $1 muss die vollstaendig abzuziehende/addierende Zeit # in HH.MM (als float) beinhalten # Es wird nur die Stunde zurueckgegeben. my $offset = shift || return int($plugin_info{'emx_sonne.pl.auf'}); $offset = int($offset * 1000); ($offset < 0) and $offset = 24000 + ($offset % 24000); return int ((($plugin_info{'emx_sonne.pl.auf'} * 1000 + $offset) % 24000) / 1000);} # sonnUntHHsub sonnAufMM(){ # Rueckgabe Sonnenaufgangs-Minute + $1 Offset my $offset = shift || return $plugin_info{'emx_sonne.pl.aufMM'}; $offset = int($offset * 1000); ($offset < 0) and $offset = 24000 + ($offset % 24000); return int ((($plugin_info{'emx_sonne.pl.auf'} * 1000 + $offset) % 1000) * 60 / 1000 );} # sonnAufMM#-----------------------------------------------------------------------------# Einstellungen (Beipiele)#-----------------------------------------------------------------------------$LokaleZeitZone = "CET"; # lokale Zeitzone$LokaleSommerZeitZone="CEST"; # lokale Zeitzone im Sommer@Zeiten = ( # Werkstatt Ventilator an, taeglich, 1 std. vor sonnenaufgang { Name=>'WS_Ventilator', Aktiv=>'1', Std=>&sonnAufHH(-1.0), Min=>&sonnAufMM(-1.0), MTag=>undef, Mon=>undef, WTag=>undef, Wert=>'1', DPT=>'1', GA=>'1/2/34', Log=>'1' }, # Werkstatt Ventilator aus, taeglich, 11 minuten spaeter als 1 std. vor sonnenaufgang { Name=>'WS_Ventilator', Aktiv=>'1', Std=>&sonnAufHH(-1.0 + 11/60), Min=>&sonnAufMM(-1.0 + 11/60), MTag=>undef, Mon=>undef, WTag=>undef, Wert=>'0', DPT=>'1', GA=>'1/2/34', Log=>'1' }, # Rollaeden runter fahren, Kueche 13 Minuten nach Sonneuntergang, Terrasse 14 Minuten nach Sonnenuntergang { Name=>'EG_RollKuecheAb', Aktiv=>'1', Std=>&sonnUntHH(13/60), Min=>&sonnUntMM(13/60), Wert=>'1', DPT=>'1', GA=>'4/5/67', Log=>'1' }, { Name=>'EG_RollTerrasseAuf', Aktiv=>'1', Std=>&sonnUntHH(14/60), Min=>&sonnUntMM(14/60), Wert=>'1', DPT=>'1', GA=>'4/5/67', Log=>'1' }, );#-----------------------------------------------------------------------------# $slotEnd definiert die Sekunde, ab der neu synchronisiert wird # ACHTUNG: Sollte nicht kleiner als 1 Sekunde sein.#-----------------------------------------------------------------------------$slotEnd = 3; #-----------------------------------------------------------------------------# ENDE Einstellungen#-----------------------------------------------------------------------------1;# emacs setting# ;;; Local Variables: ***# ;;; mode:perl ***# ;;; End: ***
Warum eigentlich so kompliziert?
Hab da schon mal drüber nachgedacht. Ich hätte gesagt 2x Infotrigger in der CV auf jeweils DPT3 und fertig. Die Grenzen lassen sich getrennt auf 0..12 und 0..60 in der CV setzen.
Die Impulse zu zählen halte ich nicht für sehr smart.
Hallo. Woher hast du das Plugin? Bzw. welche Version nutzt du? Denn die Version die im SVN liegt, unterstützt keine Sonnenstandsberechnung. Wenn du mal den Plugincode postest, kann man vieleicht nachvollziehen wesshalb es nicht klapt
Dann stelle die doch mal in einem separaten Thread im Hauptforum vor, niemand hat vor einen Thread zu kapern .
Ich möchte hier auch nichts kapern...
Die Ehre für das Display gebührt leider nicht mir, sondern Arno. Habe nur die Rahmen gebaut und die Dinger (12 Stück) parametriert. Ich finde sie klasse und bisher laufen sie gut.
Habe gerade gesehen, dass es bereits einen Thread dazu gibt: https://knx-user-forum.de/diy-do-you...h-display.html
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: