Ankündigung

Einklappen
Keine Ankündigung bisher.

Lichtszenenabruf per Misterhouse in der Iphone Visu möglich?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Jockel
    antwortet
    Szenen und MisterHouse beschäftigen mich auch gerade, der Thread hier scheint ja noch den aktuellen Stand darzustellen?

    Zwei Fragen:
    Das EIBSZ Item ist lediglich ein umbenanntes EIB1 Item, oder?


    Lösung ist entweder die Zeile ein EIB_Device.pm mit 0.0.0 einkommentieren (Nachteil: groupswrite events über den gleichen Eibd werden in MH nicht mehr erkannt) oder die überarbeitete eibd-Kommunikation verwenden. Link
    Genau auf das Problem bin ich auch gestoßen, nur ist die verlinkte EIB_Items.pm ja schon was älter. Gibt es da ev. eine neuere Version, die auch die übrigen aktuellen Änderungen enthält, sonst muß ich mir das mal selbst aus den Verschiedenen Versionen zusammensuchen.

    Schon mal vielen Dank für Eure Hilfe und alles Gute zum neuen Jahr!

    Einen Kommentar schreiben:


  • mike
    antwortet
    Ich habe das schon upstream geschickt, aber noch keine Rückmeldung ...

    Mike

    Einen Kommentar schreiben:


  • spookyt.
    antwortet
    Zitat von mike Beitrag anzeigen
    Das liegt daran, dass in MH beim Auslösen einer Funktion diese direkt im Objekt verarbeitet wird (state_now wird aktiv) und an den EIB gesendet wird.
    Lösung ist die überarbeitete eibd-Kommunikation verwenden. Link
    Ich hab deine modifizierte Eib_Devices.pm genommen und schon passt alles :-) Ist da außer dem von mir beschriebenen Problem noch etwas korrigiert/modifiziert worden? Wird das in die offizielle mh Distribution einfließen? Sinnvoll wäre das wohl.

    Jetzt kann ich endlich wieder sinnvoll mit state_now arbeiten. DANKE!

    Einen Kommentar schreiben:


  • mike
    antwortet
    Zitat von spookyt. Beitrag anzeigen
    Hallo,
    ich habe nochmal ausführlicher getestet und komme nicht dahinter:
    Du hast das Problem, dass alle Aktionen die du über MH startest doppelt ausgeführt werden, bei einem groupswrite aber nur einmal?

    Das liegt daran, dass in MH beim Auslösen einer Funktion diese direkt im Objekt verarbeitet wird (state_now wird aktiv) und an den EIB gesendet wird. Da in der EIB-Kommunikation ein Busmonitor läuft sieht der dann das Telegram auf dem Bus und meldet es an MH. Der verarbeitet das dann wie ein Event "von aussen" und state_now wird wieder true.

    Lösung ist entweder die Zeile ein EIB_Device.pm mit 0.0.0 einkommentieren (Nachteil: groupswrite events über den gleichen Eibd werden in MH nicht mehr erkannt) oder die überarbeitete eibd-Kommunikation verwenden. Link

    Einen Kommentar schreiben:


  • chrismave
    antwortet
    So ich möchte das hier nochmal aufrufen,

    habe gestern folgendes gefunden : DOMIQ/Remote
    sagt einem das etwas?

    Intressant finde ich die Visu die einige Icon´s bzw. Schaltgrafiken für Rak´s Iphone Visu hat, weiß jemand wie man an solche Grafiken dran kommt(sprich wie das programmiert ist), oder muss ich das mal in der WebApp im Logic.js unterbringen wie den vorhanden Schalter?

    Stichworte: Dimmen, Temperaturvorgaben, Szenenabruf

    Habe mir das mal auf meinen Ipod geladen und genial ist z.B. die Dimmfunktion, antippen des Tasters schaltet an/aus und nach links bzw. rechts sollen dann Dimmstuffen gesendet werden. O.K. ist jetzt leider nicht EIB kompatibel aber so etwas wäre für MH Iphone Viso genial, oder?

    Danke
    Christoph
    Angehängte Dateien

    Einen Kommentar schreiben:


  • RaK
    antwortet
    Klar, an die MH Mailingliste.

    Einen Kommentar schreiben:


  • spookyt.
    antwortet
    Zitat von RaK Beitrag anzeigen

    Ich würde in der ersten if Abfrage in deinem Beispiel mal ein print_log einbauen um sicherzugehen, dass diese If Abfrage auch nur einmal durchlaufen wird. Wenn wir hier schon zweimal durchkommen, dann ist das Verhalten konsistent.

    Mein nächster Ansatzpunkt wäre state_changed anstatt state_now zu benutzen.

    Also die erste IF Abfrage (Ein- und gleich wieder Ausschalten der GA für die Visu) wird nur einmal durchlaufen - das ist ja auch korrekt so. Die zweite wird manchmal (scheint willkürlich zu sein) zweimal durchlaufen, manchmal nur einmal. Scheint ein Bug zu sein. Kannst du das reproduzieren? Meines Erachtens jedenfalls nicht okay so. Kann/soll ich das Problem irgendwo weiterleiten?

    Gruß.

    Einen Kommentar schreiben:


  • RaK
    antwortet
    Spontan kann ich das nicht erklären. Eigentlich ist state_now nur wahr in einem Durchgang nach dem Setzten des Objektes.

    Ich würde in der ersten if Abfrage in deinem Beispiel mal ein print_log einbauen um sicherzugehen, dass diese If Abfrage auch nur einmal durchlaufen wird. Wenn wir hier schon zweimal durchkommen, dann ist das Verhalten konsistent.

    Mein nächster Ansatzpunkt wäre state_changed anstatt state_now zu benutzen.

    Einen Kommentar schreiben:


  • spookyt.
    antwortet
    workaround

    Hi,

    über folgenden Code habe ich es geschafft, dass sowohl bei Bus-generierten Telegrammen, also auch bei mh generiertem Schaltbefehl über das Hilfsobjekt nur einmal die Schleife mit dem LOG ausgeführt wird.

    Code:
    ## Dummy - EIB1 Items, um Zentraladressen für Visu bereitzustellen
    
    if (state_changed $mh_szene_alles_aus_bett eq ON) {
    set $mh_szene_alles_aus_bett OFF;
    set $Alles_aus_Bett OFF;
    }
    
    
    # Wenn Alles Aus SZ ausgelöst wird
    [COLOR=Red]if ((state_now $mh_szene_alles_aus_bett eq OFF and state_now $Alles_aus_Bett eq OFF) or (state_now $Alles_aus_Bett eq OFF and time_idle $mh_szene_alles_aus_bett ("1 s off"))) [/COLOR]{
    
    my $f;
    $f = "$ENV{HOME}/Documents/Nightly_Log.txt";
    {
            open (FH, ">>$f") or die "Error: $!";
            print FH scalar (localtime), " Alles_Aus Bett \n";
            close (FH);
    }        
    }
    Trotzdem würde mich interessieren, warum IF state_now $Alles_aus_Bett eq OFF im Falle des verwendeten Codes für zwei Durchgange wahr ist?!?! Rak, kannst du das erklaren?

    Einen Kommentar schreiben:


  • chrismave
    antwortet
    Sorry,
    aber ich weiß überhaupt nicht was du da machst?!

    Gestern Abend war ich erst spater wieder daheim deshalb erst jetzt(PN).

    Ich habe folgendes gemacht:

    eine szenen.pl
    Code:
    #Szenen definitionen in Misterhouse
    
    tie_event $Wasserbedienung 'if ($state eq ON) {set $Wasserbedienung OFF; set $Wasser ON}';
    
    tie_event $TV 'if ($state eq ON) {set $TV OFF; set $Szeneneingang 2}';
    
    tie_event $Schlafen 'if ($state eq ON) {set $Schlafen OFF; set $SzeneneingangTS2_ohnekinder 1}';
    
    tie_event $Test 'if ($state eq ON) {set $Test OFF; set $Arbeitszimmer ON; set $Kueche_wert 150; set $Essen_Rollladen 150}';
    eien aaaaa_startup.pl damit das als erstes gelesen wird.
    Code:
    use EIBSZ_Item;
    und diesen eitrag in der iphone.pl erganzen
    Code:
    } elsif ($object->isa('EIBSZ_Item')) {
    
            $html .= "
    
                    <li>
    
                      <span>
    
                        <img src=\"/graphics/_button.png\" onclick=\"ChangeState(\'../SET?$item2=on\')\" />
    
                      </span>
    
                      $icon$name
    
                    </li>
    
    ";
    Dann sollte das eigentlich gehen, allerdings wüsste ich gerne mal wie du das genau mit deinem zurückschalten machst?!

    Wenn du noch Szenen extern abrufen möchtets musst du dir noch ein 1Byte Eib_Item dafür anlegen, welches dir die Szenen in Tastereingangen abrufen kann (z.B. TS2+ Gira).

    Gruß
    Christoph

    PS: Bin heute nicht standig erreichbar W&#180;tal wird 80 Jahe!
    Angehängte Dateien

    Einen Kommentar schreiben:


  • spookyt.
    antwortet
    Zentraladressen in mh

    Hallo,
    ich habe nochmal ausführlicher getestet und komme nicht dahinter:

    Folgenden Code nutze ich, um in mh eine Zentraladresse "nachzubilden". Ich habe allso die $mh_szene_alles_aus_bett (GA: 9/1/4) erstellt und in die Visu eingebaut. Eigentliches Ziel ist die Schaltung der Zentraladresse $Alles_aus_Bett (GA: 0/0/3).

    Code:
    ## Dummy - EIB1 Items, um Zentraladressen für Visu bereitzustellen
    
    if (state_changed $mh_szene_alles_aus_bett eq ON) {
    set $mh_szene_alles_aus_bett OFF;
    set $Alles_aus_Bett OFF;
    }
    
    # Wenn Alles Aus SZ ausgelöst wird
    if (state_now $Alles_aus_Bett eq OFF) {
    
    my $f;
    $f = "$ENV{HOME}/Documents/Nightly_Log.txt";
    {
            open (FH, ">>$f") or die "Error: $!";
            print FH scalar (localtime), " Alles_Aus Bett \n";
            close (FH);
    }        
    }
    Schalte ich jetzt über die Visu, passiert folgendes:
    Code:
    06/27/09 12:59:26 PM Toggling EIB_Item object $mh_szene_alles_aus_bett from off to on
    06/27/09 12:59:26 PM EIB write from 0.0.1 to 9/1/4 : "on"
    06/27/09 12:59:27 PM EIB write from 0.0.1 to 9/1/4 : "off"
    06/27/09 12:59:27 PM EIB write from 0.0.1 to 0/0/3 : "off"
    Soweit stimmt das ja, es wird also _einmal_ die Hilfsadresse und die eigentliche Zentraladresse auf OFF gesetzt.
    Jetzt möchte ich bei Betätigung der Zentraladresse (was ja auch über einen EIB-Taster der Fall sein kann) weiteren Code ausführen, in diesem Fall die Uhrzeit in eine LOG-Datei schreiben.

    Diese Log-Datei wird aber komischerweise zweimal befüllt:

    Code:
    Sat Jun 27 12:59:26 2009 Alles_Aus Bett 
    Sat Jun 27 12:59:27 2009 Alles_Aus Bett
    Mir ist nicht klar, warum der Log-Befehl zweimal ausgeführt wird.

    Zum Vergleich: wenn ich über groupswrite Alles_aus_Bett OFF setze, erhalte ich eine Zeile im Log. Wenn ich über groupswrite $mh_szene_alles_aus_bett ON setze, erhalte ich auch zweimal den Log.

    Einen Kommentar schreiben:


  • spookyt.
    antwortet
    Zitat von RaK Beitrag anzeigen

    tie_event $Putzen 'if ($state eq ON) {set $Putzen OFF; set $Szene 1}';
    Gibt es einen Unteschied zu folgendem Code?

    if (state_changed $Putzen eq ON) {
    set $Putzen OFF; set $Szene 1;
    }

    Wenn nein, ist mir ist nicht so ganz klar, wofür diese tie_event "erfunden" wurde bzw. ob es einen Unterschied zu state_changed gibt?!

    Edit: Was mir auffällt: wenn ich tie_event verwende und über die Visu "ein"schalte, wird anschließend zweimal der "aus"-Befehl gesendet. Schalte ich über groupswrite "ein", wird nur einmal "aus" gesendet. Wieso? Bei der Code-Variante mit state_changed wird nur einmal gesendet, auch über die Visu.

    Einen Kommentar schreiben:


  • chrismave
    antwortet
    Zitat von RaK Beitrag anzeigen
    Christoph, was soll ich integrieren? Es lauft doch bei dir.

    Ich habe vor den EIB61 Item über Optionen als Szenenbaustein direkt in die iphone Skin zu integrieren. Das ware dir richtige, große Lösung.

    LG
    Nee, das meinte ich nicht, es ging mir nur um die Iphone Icons, ich habe da einfach dein _1.png genommen und bearbeitet, ich dachte, da Du ja wahrscheinlich die .psd dazu hast, würde das bei dir besser aussehen und direkt ins Icon package einfliesen, aber über diese Sachen können wir ja nachste Woche mal in Ruhe sprechen.

    Gruß
    Christoph

    Einen Kommentar schreiben:


  • RaK
    antwortet
    Christoph, was soll ich integrieren? Es läuft doch bei dir.

    Ich habe vor den EIB61 Item über Optionen als Szenenbaustein direkt in die iphone Skin zu integrieren. Das wäre dir richtige, große Lösung.

    LG

    Einen Kommentar schreiben:


  • chrismave
    antwortet
    Zitat von RaK Beitrag anzeigen
    GRATULOR! Wie wäre es damit?
    Schick!

    Hätte da auch noch so eine Idee.... du hast da ja schon ein Icon, wie wäre es wenn du evt. ein "on" einsetzt und in die iphoneskin integrierst?

    eventuell wie das hier unten, oder mein neues?

    Ich finde das sollte vom Design her zu dem gesamten Layout weiter passen, aber das ist mein persönlicher Geschmack!

    Gruß
    Christoph
    Angehängte Dateien

    Einen Kommentar schreiben:

Lädt...
X