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

    #16
    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

    Kommentar


      #17
      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.

      Kommentar


        #18
        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.

        Kommentar


          #19
          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

          Kommentar


            #20
            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?

            Kommentar


              #21
              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.

              Kommentar


                #22
                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ß.

                Kommentar


                  #23
                  Klar, an die MH Mailingliste.

                  Kommentar


                    #24
                    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

                    Kommentar


                      #25
                      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

                      Kommentar


                        #26
                        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!

                        Kommentar


                          #27
                          Ich habe das schon upstream geschickt, aber noch keine Rückmeldung ...

                          Mike

                          Kommentar


                            #28
                            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!

                            Kommentar

                            Lädt...
                            X