Chris,
danke wieder für deine Hilfe!
pagejump funktioniert bei mir NUR in der Navbar. Dort allerdings perfekt. Innerhalb der Seite - ob 2d oder normales Layout - funktioniert es nicht.
Ich nutze die neueste SVN-Version und das metal-Design. Meine custom.css habe ich zum Testen wegverschoben, kann also keinen Einfluss haben.
Liebend gerne.
Mein Schema für die Namenskürzel funktioniert so:
(Beispiel Hauswirtschaftsraum)
Licht schalten = LI_HW
Schaltzustand = LS_HW
Dimmwert setzen = LD_HW
Dimmwert abfragen = LE_HW
Diese Kürzel sind immer das jeweils erste Wort der GA-Bezeichnung. Meine eibga.conf sieht dann so aus (Ausschnitt):
Wie man erkennen kann, steht in der Langbezeichnung auch noch weitere Information: die Dali-Kabelbezeichnung, die Kanalnummer, die Wattzahl, der Ort. Warum das Ganze? Mein Perl-Skript liest das ein und generiert einen dimmbaren Lichtschalter auf der Visu-Seite des Hauswirtschaftsraums.
Und noch was: der wiregate-Daemon liest die eibga.conf ebenfalls ein und speichert zB folgendes ab:
Das kann man wiederum in Logiken verwenden. Beispiel: der MDT-Dali-Gateway kann für Dali-Einzelkanäle nur Dimmwerte direkt setzen. Er kann weder relativ dimmen, noch Dimmwerte lesen, noch schalten usw. Das Problem gibt es natürlich bei allen Dali-Einzelkanälen, und dafür gibt es dann eine Gruppe von Logiken im Logikprozessor, die diese Funktionen alle ersetzen. Das liest sich zB folgendermaßen:
In der letzten Logik (Präsenzmelder) nutze ich noch eine weitere Datei: die eibpa.conf. Diese besteht aus einer Liste von physikalischen Adressen und Bezeichnungen:
Auch hier steckt wieder ein Code drin: alle Präsenzmelder fangen mit "P_" an. Der Logikprozessor liest diese Datei ein und stellt den Logiken den Namen des Senders als Text in $msg{sender} zur Verfügung.
Alles, um den Code lesbarer zu machen (und fehlerärmer, und leichter zu warten, ...).
VG; Fry
danke wieder für deine Hilfe!
Zitat von Chris M.
Beitrag anzeigen
Ich nutze die neueste SVN-Version und das metal-Design. Meine custom.css habe ich zum Testen wegverschoben, kann also keinen Einfluss haben.
Zitat von Chris M.
Beitrag anzeigen
Mein Schema für die Namenskürzel funktioniert so:
(Beispiel Hauswirtschaftsraum)
Licht schalten = LI_HW
Schaltzustand = LS_HW
Dimmwert setzen = LD_HW
Dimmwert abfragen = LE_HW
Diese Kürzel sind immer das jeweils erste Wort der GA-Bezeichnung. Meine eibga.conf sieht dann so aus (Ausschnitt):
Code:
[1/2/20] DPTId = 1 DPTSubId = 1.001 name = LI_HW Schalten (Dali G Kanal 2 324W) KG Hauswirtschaft ...
Und noch was: der wiregate-Daemon liest die eibga.conf ebenfalls ein und speichert zB folgendes ab:
Code:
$eibgaconf{'1/2/20'}{short}='LI_HW'; $eibgaconf{'1/2/20'}{name}='LI_HW Schalten (Dali G Kanal 2 324W) KG Hauswirtschaft'; $eibgaconf{'LI_HW'}{ga}='1/2/20'; $eibgaconf{'1/2/20'}{DPTSubId}='1.001';
Code:
for my $LI (grep /^LI_\S*$/, keys %eibgaconf) { my $name=$eibgaconf{$LI}{name}; my $licht=$LI; $licht=~s/^LI_//; my ($LS,$LD,$LE)=('LS_'.$licht,'LD_'.$licht,'LE_'.$licht); if($name=~/Dali.*Kanal/i) { # Auf einen Schaltbefehl auf einem Einzelkanal einen Wert senden $logic{$LI.'_LD'} = { receive=>$LI, transmit=>$LD, translate => sub { return 0 unless int($input)>0; return 80; }, }; # Auf einen Relativdimmbefehl hin den Absolutwert senden $logic{$LR.'_LD'} = { receive=>$LR, transmit=>$LD, translate => sub { $state=0 unless defined $state; return limit(0,$state-int($input*3.125),100); }, }; # Auf einen Dimmbefehl die Rueckmeldung des Schaltzustandes und Dimmwertes senden (sendet das Gateway nicht selbst) $logic{$LD.'_LS'} = { receive=>$LD, transmit=>$LS, translate => sub { int($input)>0 } }; $logic{$LD.'_LE'} = { receive=>$LD, transmit=>$LE, translate => sub { return $input; } }; # Auf einen Anschaltbefehl eines Praesenzmelders nachts einen reduzierten Dimmwert hinterherschicken $logic{$LD.'_pm_dim'} = { receive=>$LD, transmit=>$LD, translate => sub { return undef unless $msg{sender}=~m/^P_/ && $night && int($input)>0; return undef if int($input)<=5; return 5; }, }; } elsif($name=~/Dali.*Gruppe/i) { .... }
Code:
... A_MDT_J3 1.0.11 A_MDT_HZ1 1.0.12 A_MDT_HZ2 1.0.13 S_Wetter 1.0.14 B_Strom1 1.0.15 P_E 1.0.27 P_HW 1.0.28 P_F1 1.0.29 P_D1 1.0.30 ...
Alles, um den Code lesbarer zu machen (und fehlerärmer, und leichter zu warten, ...).
VG; Fry
Kommentar