Seite 2 von 7 ErsteErste 1234 ... LetzteLetzte
Ergebnis 16 bis 30 von 95

Thema: Misterhouse und KNX/EIB

  1. #16
    RaK ist offline Registrierter Benutzer
    Registriert seit
    Oct 2005
    Ort
    Neuss
    Alter
    51
    Beiträge
    229
    @a20gate: Bin zwar nicht thoern, aber hier kommt meins .

    Code:
    #!/usr/bin/perl
     
    use Math::BaseCnv;
     
    # right $len chars
    sub rstr{
     my $s = shift;
     my $len = shift;
     # printf("DEBUG %s %i\n",$s,$len);
     return substr($s, length($s) - $len, $len);
    }
     
    # read local time
    ($second, $minute, $hour, $dayOfMonth, $month, $yearOffset,
    $dayOfWeek, $dayOfYear, $daylightSavings) = localtime(time);
     
    # Mon is KNX 001 and Sun is 111 in Linux is Sun 1 und Sat 7
    @weekDays = qw(111 001 010 011 100 101 110);
     
    # calc $hour in bin with exact 5 digits
    $bin_hour = rstr("000000".cnv( $hour, 10, 2) ,5);
     
    @args = ("/usr/bin/groupwrite", "ip:127.0.0.1", "0/6/6",
      # change protocoll to your needs
            sprintf("%02X", cnv( $weekDays[$dayOfWeek] . $bin_hour, 2,
    10)), # calc weekday and hour in hex
            sprintf("%02X", $minute),
      # same for minute and second
            sprintf("%02X", $second));
     
    # execute command
    system(@args) == 0 or die "system @args failed: $?";
    Einfach in ein textfile kopieren. Es zb eibsendtimeonbus nennen und mit chmod a+x ausführbar machen.

    Thats it. Wenn dir die Bibliothek fehlt (most likely), dann einfach über CPAN insatllieren "\google cpan installieren" sollte weiterhelfen.

    Code:
    perl -MCPAN -e shell
    > install Math::BaseCnv
    enjoy!
    Hier könnte ihre Werbung stehen.

  2. #17
    Registriert seit
    Sep 2006
    Ort
    München
    Alter
    52
    Beiträge
    54
    Danke, funktioniert bestens

    Gruß
    Sven

  3. #18
    RaK ist offline Registrierter Benutzer
    Registriert seit
    Oct 2005
    Ort
    Neuss
    Alter
    51
    Beiträge
    229
    gerne. Hier (http://eibwiki.agrodur.com/index.php?title=Eibd) habe ich ein kleines Howto zu eibd geschrieben. Dort entsteht auch in naher Zukunft ein Tutorial für misterhouse.
    Hier könnte ihre Werbung stehen.

  4. #19
    Registriert seit
    Jan 2005
    Ort
    Neuwied
    Alter
    56
    Beiträge
    80

    *freu*

    das finde ich super!
    Hoffe dort wird sich einiges ansammeln für mistherhouse + eibd
    grüsse

    Zitat Zitat von RaK Beitrag anzeigen
    gerne. Hier (http://eibwiki.agrodur.com/index.php?title=Eibd) habe ich ein kleines Howto zu eibd geschrieben. Dort entsteht auch in naher Zukunft ein Tutorial für misterhouse.

  5. #20
    thoern ist offline Registrierter Benutzer
    Registriert seit
    Mar 2005
    Ort
    Heroldsbach
    Beiträge
    126
    Hallo Zusammen,

    und hier mein Skript. Ich aktualisiere hiermit die Buszeit damit meine Jung-Raumcontroller alles schön anzeigen (wird einmal pro Stunde ausgeführt und funzt auch ohne zusätzliche Perl-Module ):

    Code:
    #!/usr/bin/perl
    #
    # eibtime.pl
    #
    # thoern, 16.12.2006
    # Version 1.0
    #
    
    $grptime = "4/1/0";
    $grpdate = "4/1/1";
    $eibURL = "ip:localhost";
    $logfile;
    $ENV{'PATH'}="/usr/bin";
    
    ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
    
    
    $byte1 = sprintf "%lx", $wday * 32 + $hour;
    $byte2 = sprintf "%lx", $min;
    $byte3 = sprintf "%lx", $sec;
    
    print "Time: $wday $hour:$min:$sec\n";
    print "Eibtime: $byte1 $byte2 $byte3\n";
    
    system groupwrite, $eibURL, $grptime, $byte1, $byte2, $byte3;
    
    
    $byte1 = sprintf "%lx", $mday;
    $byte2 = sprintf "%lx", $mon + 1;
    $byte3 = sprintf "%lx", $year - 100;
    
    print "Date: $mday ", $mon + 1, " ", $year - 100, "\n";
    print "Eibdate: $byte1 $byte2 $byte3\n";
    system groupwrite, $eibURL, $grpdate, $byte1, $byte2, $byte3;
    Ein passender cron-Job:

    tesla:~# crontab -l
    33 * * * * /usr/local/eib/bin/eibtime.pl >> /var/tmp/eibtime.log 2>&1

    Gruss,

    thoern
    Geändert von thoern (22.06.07 um 02:02 Uhr)

  6. #21
    Registriert seit
    Jan 2005
    Ort
    Neuwied
    Alter
    56
    Beiträge
    80
    wenn ich das richtig verstanden habe,
    erspart man sich mit diesem Script einen EIB-Zeitgeber, oder?

    Grüsse

  7. #22
    RaK ist offline Registrierter Benutzer
    Registriert seit
    Oct 2005
    Ort
    Neuss
    Alter
    51
    Beiträge
    229
    commander: Ja, aber du brauchst einen Linux24/7 Rechner mit eibzugriff .

    thoern: $wday * 32 + $hour; Sehr clever! Da bin ich nicht drauf gekommen. Klasse!


    Ich meine behalten zu haben, dass die Zaehlung der Tage zwischen Linux und Eib Unterschiedlich ist.
    # Mon is KNX 001 and Sun is 111 in Linux is Sun 1 und Sat 7



    Fehlt da nich noch eine Konvertierung in deinem Script?
    Hier könnte ihre Werbung stehen.

  8. #23
    thoern ist offline Registrierter Benutzer
    Registriert seit
    Mar 2005
    Ort
    Heroldsbach
    Beiträge
    126
    @commander,

    so ist es. Ist wesentlich billiger und viel flexibler. Der PC auf dem ich das Skript laufen habe, synchronisiert sich über das Internet mit öffentlichen Zeitservern.

    Gruss,

    thoern

  9. #24
    thoern ist offline Registrierter Benutzer
    Registriert seit
    Mar 2005
    Ort
    Heroldsbach
    Beiträge
    126
    Fehlt da nich noch eine Konvertierung in deinem Script?
    Uuups, da fehlt scheinbar die Umsetzung für Sonntag - ist mir noch gar nicht aufgefallen :-(

    Da muss wohl noch etwas in der Form

    $wday = 7 if !$wday;

    rein (unter Linux ist Sonntag 0 und Samstag 6).

    Gruss,

    thoern
    Geändert von thoern (22.06.07 um 15:46 Uhr)

  10. #25
    RaK ist offline Registrierter Benutzer
    Registriert seit
    Oct 2005
    Ort
    Neuss
    Alter
    51
    Beiträge
    229
    Zitat Zitat von thoern Beitrag anzeigen
    $wday = 7 if !$wday;
    Genau, das meinte ich. Wenn du willst, dann kannst du dein Script ja im wiki posten. Es gefaellt mir wesentlich besser als meins . Mensch, dass ich da nicht drauf gekommen bin wurmt mich wirklich!



    Ich freu mich schon auf den Austausch von Misterhouse Logiken.



    Aktuell bin ich gerade dabei ein kleines Script zu schreiben, welches HS Logiken (HSL Files) automatisch in eine Perl Syntax konvertiert. Mit ein wenig Nacharbeit stehen einem dann alle guten oeffentlich verfügbaren HS Logik Module zur Verfügung.



    Den Sonnenstand von Matthias hab ich schon umgesetzt. Poste ich gerne. Ich bin gerade dran an einem Code Sniplet, welches meinen Rollladen die absolute (0-100%) Positionierung beibringt um dann den Beschattungsbaustein von Thilo anzugehen.
    Hier könnte ihre Werbung stehen.

  11. #26
    Registriert seit
    Sep 2004
    Beiträge
    44
    Hallo Rack,

    wieder einmal Super Arbeit
    Stellst Du Deine Beispiele ins WIKI?
    Nach Deine Super Anleitung, funzt der Bus Zugriff
    Freu mich schon auf Deine nächsten Projekte.

    LG
    tabatux

  12. #27
    thoern ist offline Registrierter Benutzer
    Registriert seit
    Mar 2005
    Ort
    Heroldsbach
    Beiträge
    126

    Meine Misterhouse Erweiterungen

    Hallo,

    auf mehrfachen Wunsch stelle ich meine Erweiterungen zum Thema Misterhouse zur Verfügung.
    Meine letzte Änderung betrifft die Buttons für EIB7-Objekte. Diese können jetzt auch den Status anzeigen. Die Step-Funktion ist für Jalousien gedacht, ist aber noch nicht implementiert (s. http://hoerndlein.dyndns.org und dann auf Jalousien drücken). Eine Beschreibung der Erweiterung ist unter dem Menüpunkt "Hil-Fee" zu finden.
    Die Erweiterungen könnt ihr hier downloaden: http://www.hoerndlein.de/misterhouse/

    Die Erweiterung hat den Status "experimental". Das Benutzen erfolgt auf eigene Gefahr.

    Gruss,

    thoern

  13. #28
    RaK ist offline Registrierter Benutzer
    Registriert seit
    Oct 2005
    Ort
    Neuss
    Alter
    51
    Beiträge
    229
    Danke! Funktioniert einwandfrei!

    Jetzt muss ich nur noch rausfinden wie du das gemacht hast , dann würde ich mich an einem Fensterbutton versuchen.

    Da kommen ja üblicherweise zwei EIB1 Objekte an (FK oben/unten) und man muesste dann am Button auf , zu bzw. gekippt darstellen.
    Hier könnte ihre Werbung stehen.

  14. #29
    Registriert seit
    Sep 2006
    Ort
    München
    Alter
    52
    Beiträge
    54

    Frage

    Moin,
    hat schon jemand ein Jalousie-Item entworfen - also Move/Step/Position/Angle?

    Gruß
    Sven

  15. #30
    Registriert seit
    Sep 2005
    Ort
    Alzey
    Alter
    50
    Beiträge
    12
    Nachdem auch mein MH läuft und ich mich an Umgebung von thoern ortientiert habe, ist mir doch noch was aufgefallen. Die Button_action.pl benötigt eine Anpassung für die EIB1-Items, sonst versucht MH je nach dem an welche des EIB1-Buttons man klickt einen DIM auszulösen, was natürlich nicht funktioniert.

    Also Zeile 14 muss lauten:
    unless (eval qq|$item->isa('X10_Appliance') or $item->isa('Fan_Motor') or $item->isa('EIB1_Item')|) {

    Also, Viel Spaß noch ....

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •