HomeServer 2.1 Logik Archiv |
Nachfolgende Logikoperatoren sind zum kostenlosen Download verfügbar. Die Installation ist kinderleicht. Die *.hsl-Dateien im "/logic" Ordner der Experten-Installation speichern. Fertig. Danach stehen die neuen Funktionen zur Verfügung. Ideen und Anregungen bitte an "logik [at] kuehn-clan.de". Benutzung auf eigene Gefahr! Übersicht: Summe, Anzahl, Runden&Nachkomma, Min/Max/Mittelwert, Temperatur-Tendenz, ZeitDatum-Speicher, Kalenderwoche, DatumUhrzeit->Text, 14Byte-Laufschrift, Energiezähler, Rolladensteuerung, Momentan-Stromverbrauch, Mondphase, RGB-Sequenzer, Bedingungs-Text, Textumbruch, Telefonbuch Bausteine (NEUE FIRMWARE > Mai 2005) komplett und auf dem aktuellsten Stand im *.zip-Format downloaden. Bausteine (ALTE FIRMWARE <= Mai 2005) komplett und auf Stand vom 16.06.05 *.zip-Format downloaden. Update 21.01.06: - DatumUhrzeit->Text Bugfix mit Sonnenauf/-untergang - Temperatur-Tendenz Bugfix mit Timer Update 24.10.05: - Telefonbuch-Baustein zur Vorgabe bekannter Telefonnummern. - Alle vorhandenen Bausteine wurden in der Syntax bereinigt (Dank Gastons super Logik-Checker-Tool). Update 22.07.05: - 2 neue Bausteine (Bedingungs-Text, Textumbruch). Update 08.07.05: - Erweiterte Erklärung des Energiezähler-Bausteins mit Bild und Template. Update 04.07.05: - Der DatumUhrzeit->Text-Baustein hatte Probleme in Verbindung mit dem Sonnenauf/-untergang und zeigte eine Stunde Differenz. Dieses Problem sollte nun behoben sein! Bitte bei Winterzeitumstellung nochmals checken, ob es dann auch funktioniert. News 16.06.05: - DACOM bringt erneut ein tolles Update für den HomeServer raus! Hier findet ihr die angepaßten Bausteine für die neue Firmware-Version im *.zip-Format News 19.01.05: - Auf der Webseite von DACOM findet man seit heute Bausteine für ein Codeschloß und ein 10-fach Vergleicher. Update 24.01.05: - Neuer Baustein RGB Sequenzer ermöglicht das Animieren von farbigen LED Leuchten. Update 03.01.05: - Temperatur-Tendenz nun mit Zeitintervall-Eingang. Tendenz-Symbole zum Download. Update 26.12.04: - Neuer Baustein zur Momentan-Stromverbrauchs-Berechnung. Update 21.12.04: - Neue Symbole für die Mondphase, Baustein dafür geupdated! - Wetter-Online WetterSymbole als Vorlage zum Download für den Experten Version 2.1. In der Visu "Vorlage importieren" und die entpackte Datei anwählen! Mit einem Klick sind alle 114 Symbole im Projekt eingefügt :-) Update 19.12.04: - DatumUhrzeit->Text, überarbeitet mit neuen Ausgängen und mehr Formaten!, Unterstützung des Sonnenauf/untergangs-Bausteins (Hi SmartEIB:-) |
Summe (8 Eingänge)![]() |
Summe der 8 Eingänge E1..E8. z.B. Anzahl offener Fenster aller Etagen. |
Anzahl (8 Eingänge)![]() |
Anzahl der Eingänge, an denen ein Wert ungleich 0 anliegt. z.B. Anzahl offener Fenster einer Etage. |
Runden und Nachkomma![]() |
Gibt Ganzzahl und Nachkommanteil einer Gleitkommazahl aus. |
Min, Max, Mittelwert![]() |
überwacht einen Wert und protokolliert das Minimum, Maximum und den Mittelwert. Für Minimum und Maximum wird außerdem der Zeitpunkt gespeichert. z.B. Wind oder Außentemperatur. ![]() |
Temperatur-Tendenz![]() |
Gibt die Temperatur-Tendenz des vorgegebenen Zeitbereiches (Eingang 2) an. Wenn sich innerhalb dieses Zeitbereiches der Eingangswert (Temperatur) nicht ändert, wird die Tendenz auf 0 gesetzt (grüner Pfeil). Der Baustein eignet sich auch für die überwachung anderer Parameter als der Temperatur (z.B. Luftdruck). Symbole zum Download . Ausgabe: 0 = gleichbleibend, 1 = Wärmer, 2 = Kälter z.B.: überwachung der Raumtemperatur ![]() |
ZeitDatum-Speicher![]() |
Speichert bei Eingang eines Telegramms die aktuelle Uhrzeit. z.B. letzter Telefonanruf, letztes Telegramm eines Bewegungsmelders, letzter Abgleich mit Wetter-Online:-) ![]() |
Kalenderwoche![]() |
Ausgabe der Kalenderwoche des aktuellen Datums. Der Trigger-Eingang stößt die Berechnung des Bausteins erneut an (im Optimalfall sollte jeden Montag um 0:01 ein Telegramm eintreffen). Beim HS Neustart wird der Baustein ebenfalls berechnet. |
DatumUhrzeit->14ByteText![]() |
Update 19.12.04: Wandelt die aktuelle oder gespeicherte Uhrzeit (von ZeitDatum-Speicher oder Sonnenauf/Untergangs-Baustein) in einen 14ByteText. Es werden folgende Ausgaben erzeugt: 1. "Datum, Uhrzeit", 2. "vergangene Zeit" (bei eingespeister Zeit), 3. "Datum", 4. "Uhrzeit"
|
14Byte-Laufschrift![]() |
Scrollt einen beliebig langen Text im angegeben Zyklus (Update) mit einer Schrittweite von beliebig vielen Zeichen. Die Breite des Ergebnistextes ist individuell anpaßbar. Die Startpos läßt den Text beliebig starten. z.B. Anzeige längerer Texte auf einem Infodisplay:-) Hinweis: wenn diese Text-Telegramme zyklisch auf den Bus gesendet werden kann die erheblichen Traffic verursachen! |
Energiezähler![]() |
Berechnet die Zählerstände für 3 Zeiträume. Anzeige des aktuellen und vorherigen Zeitraums.
|
Rolladensteuerung![]() |
Mein komplexester Baustein übernimmt alle Steuerungsfunktionen für einen Rolladen in Abhängigkeit zahlreicher Eingangsparameter. Ausgangsseitig bekommt man nur einen einzigen Werte für den Rolladen raus - die absolute Position in Prozent (0%=oben, 100%=unten!). Für jeden Zustand können abweichend vom Standard Initialwerte angegeben werden.
|
MomentanverbrauchStrom![]() |
Berechnung des Momentan-Stromverbrauches. Der Eingang "Counter" wird mit dem Strom-Zählerstand des EIB verbunden. Der Korrekturfaktor gibt die Anzahl der Zählimpulse pro kWh an. Wenn der Zählerstand nicht zyklisch gesendet wird kann mit Zyklus eine Neuberechnung aller X Sekunden erzwungen werden (0 berechnet nur bei Telegrammeingang). Der Ausgang gibt den aktuellen Stromverbrauch in kW an! Ein nachgeschalteter Multiplikator 1000 gibt die Watt aus :-) |
Mondphase![]() (Autor: Matthias Schmidt ) |
Ausgabe der Mondphase des heutigen Tages. Ausgang 1:0,00 Neumond, 0.25 Erstes Viertel, 0.50 Vollmond, 0.75 Letztes Viertel. Ausgang 2: 0 = Neumond ... 14 = Vollmond ... 28 = Neumond (z.B. die neuen dyn. Symbole). NEUE Visu Symbole hier downloaden - Im Visueditor auf Vorlage importieren |
RGB Sequenzer![]() (Autor: Matthias Schmidt ) |
RGB Sequenzer für LED Leuchten. Dauer definiert die Durchlaufzeit eines gesamten Zyklus. Modus 1 ist Regenbogen, 6 7 und 8 sind Sequenzen mit Einzelfarben. SW ist aktuelle die Schrittweite. Die Ausgänge R,G,B geben den Rot-, Grün- und Blauwert von 0..255 aus. Der Baustein berechnet sich aller 4 Sekunden neu und schickt bei änderung die Farbwerte raus. |
Bedingungs-Text![]() |
Dieser Baustein verknüpft frei wählbare Texte wenn die jeweilige Bedingung erfüllt ist. Im Ergebnis ergibt dies dann einen neuen String, der die verknüpften Texte beinhaltet. Der Baustein ist kaskadierbar (mittels "Vorheriger Text") und ermöglicht so auch die Verknüpfung von mehr als 4 Bedingungen (siehe Beispiel). Verbingungstext definiert die Zeichen, die zwischen den Texten erscheinen sollen. Ein " " (Leerzeichen) ist der Standardwert, der beliebig editiert werden kann.
Beispiel aus meinem HS-Projekt: Da es mich genervt hat nur die Anzahl der offenen Fenster im InfoDisplay zu sehen und trotzdem durchs Haus rennen zu müssen um zu erfahren WO sie offen sind, bastelte ich diesen Baustein. Die 3 hintereinander geschalteten Bausteine erzeugen EINEN langen Text, der alle Räume mit geöffneten Fenstern beinhaltet. Ist beispielsweise der Eingang der 1. Bedingung am ersten Baustein ungleich 0 dann wird der Text "Wohn" an den Gesamttext (Fensterstatus) angehängt. ![]() |
Textumbruch![]() |
Der Textumbruch erlaubt das Aussplitten eines langen Textes in Texte mit begrenzter Länge. Dabei wird nicht mitten im Wort gebrochen, sondern an Leerzeichen. "Text" gibt den Text vor. "Text Breite" gibt die maximale Anzahl der Zeichen vor, die in den Ergebnis Text reinpassen ("Zeile"). 14 ist als Standardwert gewählt, damit der Wert in ein 14-Byte-Objekt auf den Bus geschickt werden kann (z.B. Anzeige im InfoDisplay). Der "Rest"-Ausgang beinhaltet den Text, der nicht in die Zeile gepaßt hat. Auch dieser Baustein läßt sich mehrfach hintereinander schalten und erlaubt somit die Aufteilung in mehrere Zeilen am InfoDisplay.
Beispiel aus meinem HS-Projekt: Die 3 hintereinander geschalteten Bausteine zerstückeln den eingespeisten Text (des Bedingungs-Text-Bausteins) in 3 Zeilen passend für mein Infodisplay. Sicherlich ist dies es auch für Newsticker denkbar und nützlich. Vielleicht fällt Euch noch was ein. ![]() Und so sieht das Ganze dann an meinem Display aus. Das tolle ist jetzt, das immer alles ins Display reinpaßt, egal welche Räume geöffnet sind. (man beachte die Kornfliege hinter der Glasscheibe mitten im LCD Display zwischen dem 'l' und 'a' von Schlaf - fragt nicht wie die ins LCD kommt - ich krieg sie dort auf jeden Fall nicht mehr raus :-) ![]() |
Telefonbuch![]() |
Das Telefonbuch erlaubt die Vorgabe von bekannten Telefonnummern zur Ermittlung des Anrufernamens. Die Idee entstand, nachdem Michel aus dem EIB-Forum das Anruferscript gebaut hat, welches bei Anruf die Telefonnummer des Anrufers bei www.dasoertliche.de ermittelt und im Homerserver hinterlegt. Dieser Baustein wird vor den Aufruf der Web-Reversesuche geklemmt und gibt entweder gleich den bekannten Namen zurück, oder triggert das Web-Reversesuche-Script im Negativfall. Beschreibung des Bausteins: Der Telefonnummerneingang wird mit der Anrufnummer verbunden, die der HS liefert. Der Wert Präfix wird vor die vom Homeserver gelieferte Telefonnummer angehängt. Diese kann je nach Telefonanlage oder Installation verschieden sein (bei mir liefert der HomeServer alle Anrufnummern ohne führende '0', deshalb ist default Prefix='0'). Der Ausgang "Name" liefert den übersetzten Namen im Klartext. "Gefunden" signalisiert dazu mit einer '1', das der Name zugeordnet wurde. Wenn nix gefunden wurde, wird eine '0' geschickt. Ein Sonderfall ist der Filter, bei dem der Baustein vor setzen irgendeines Bausteins verlassen wird (mein HS meinte von Zeit zu Zeit ein Teilnehmer mit der Telefonnummer '0' hätte angerufen, obwohl im Haus kein Telefon klingelte). So wird der Baustein bei mir verwendet: ![]() Und so tragt ihr eure eigenen Nummern ein: 1. öffnet die Logik-Bausteindatei in einem Texteditor und sucht nach dieser Stelle. ------------------ # eintrag suchen 5012|1|"EC[1] and SN[1]=='0173677xxxx'"|"'Tilo @ D2'"|""|1|0|0|0 5012|1|"EC[1] and SN[1]=='0173677xxxx'"|"'Conny @ D2'"|""|1|0|0|0 #5012|1|"EC[1] and SN[1]==''"|"''"|""|1|0|0|0 # ... # hier so viele nummern wie ihr wollt hinzufügen, # indem ihr die drüberstehende zeile dupliziert # und nummer und name anpaßt. # (achtung: die hochkommas nicht löschen) # ... ------------------ 2. nun ändert ihr die ersten beiden Zeilen (Tilo, Conny) in eure eigenen Nummern um. 3. diese Zeilen könnte ihr so oft wiederholen wie ihr wollt. Sie müssen nur an dieser Stelle im Logikbaustein stehen! Die Raute '#' vor der leeren Zeile muß entfernt werden! Ich habe ca. 200 Telefonnummern drin, was für den HS kein Problem darstellt. Viel Spaß beim Tippen ... |
Besucher seit 17.12.2004:
(C) 2006, Tilo Kühn