Ankündigung

Einklappen
Keine Ankündigung bisher.

Weckzeiten aus Chumby holen

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #46
    @Patrik: einfach fragen was Du konkret willst.
    Das ist in dem Hash schon ganz gut aufgehoben, mit meinem Beispiel solltest du schon alle Alarme/Werte enumerieren und gezielt auswerten können.

    Ist "Blind" nur etwas schwierig, was time=390 bedeutet weiss ich halt nicht und was man damit in der Praxis anfängt (rein&raus), da kommt der Hunger halt erst beim essen, wenn das Teil aufm Nachttisch steht

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    Kommentar


      #47
      Zitat von makki Beitrag anzeigen
      was time=390 bedeutet
      Hoi Makki

      390 / 60 = 6.5 => 06:30 Uhr.

      War mir klar, dass Du bei solchen Zeiten nie auf das richtige Ergebniss getippt hättest.
      Grüsse Bodo
      Fragen gehören ins Forum, und nicht in mein Postfach;
      EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

      Kommentar


        #48
        Hallo makki.

        Das Problem beim Chumby ist, dass der Name der Default Weckzeit leer ist: NAME="". Somit ist es leider nicht möglich über diesen Namen auf die darunterliegende Weckzeit zu kommen. Oder gibt es da einen Trick? Desshalb war meine Idee, die Namen wegzulassen und einfach pro Weckzeit ein eigener Hash in der Form...

        Code:
        my %alarm0 = ('action_param' => 'off',
        'when' => 'daily',
        'arg' => 'Bugle',
        'time' => '390',
        'duration' => '30',
        'backupDelay' => '5',
        'auto_dismiss' => '0',
        'snooze' => '5',
        'action' => 'nightmode',
        'type' => 'beep',
        'param' => '',
        'backup' => '1',
        'enabled' => '0',
        'param_description' => 'Bugle')
        
        my %alarm1 = ('action_param' => 'off',
        'when' => 'friday',
        'arg' => 'Bugle',
        'time' => '390',
        'duration' => '30',
        'backupDelay' => '5',
        'auto_dismiss' => '0',
        'snooze' => '5',
        'action' => 'nightmode',
        'type' => 'beep',
        'param' => '',
        'backup' => '1',
        'enabled' => '0',
        'param_description' => 'Bugle')
        ...anzulegen. Das bekommt man sicher über eine einfache Schleife gebacken. Ist dan komplet unabhängig vom Namen der Weckzeit. Ist vieleicht ein bischen komplizierter als direkt den Hash von XML::Simple zu nutzen aber vieleicht im Endeffekt auch wehniger Fehleranfälltg. Was würde zum beispiel geschehen, wenn im Alarmname ein Sonderzeichen vorkommt? Müsste man das vorgängig maskieren, damit das Plugin keinen Fehler erzeugt?
        Gruss Patrik alias swiss

        Kommentar


          #49
          Hallo

          Kann man nicht, so abfragen, dass der Name in ein 14Byte-KO eingefügt wird?

          Dann ist es doch egal wie der Name ist oder ?

          Hast du dir mal meine HS-Abfrage angesehen?

          Manuel

          Kommentar


            #50
            Hallo Manuel

            Leider ist das nicht ganz so einfach. XML::Simple erzeugt einen Hash mit allen Werten in einer Art Baumstruktur. Das ist alles schön und gut solange jede Weckzeit einen eindeutigen Namen hat. Dann kann direkt über diese Baumstuktur auf jeden beliebigen Wert gezielt zugegriffen werden. Wir haben aber leider beim Chumby den Fall, dass die Defaultweckzeit ab Werk keinen Namen hat. Somit lässt sich diese Weckzeit mit all seinen Eigenschaften nicht direkt aufrufen. Hier ein Beispiel:

            Mit folgendem Code kann man problemlos die Weckzeit von Fr auslesen. Fr ist in dem Fall der Name der Weckzeit...
            Code:
            return $alarms->{alarm}->{Fr}->{time};
            Nun hat aber die Default Weckzeit keinen Namen. Hier ligt das Problem. Auf diese Zeit kann nicht einfach mit:

            Code:
             return $alarms->{alarm}->{''}->{time};
            zugegriffen werden. Desshalb wäre es bestimmt am einfachsten wenn man einfach aus den Daten von XML::Simple pro Weckzeit ein Assotiatives-Array erzeugt.

            Mit dieser neuorganisation der daten wäre ein Zugriff auf die Defaultweckzeit einfach über

            Code:
             return $alarm0{time};
            möglich.

            Was wir danach mit den Werten anfangen ist eine eigene Geschichte. Ob wir danach die Zeiten über einen 14-byte-text ans KNX senden oder damit über das Plugin eine Szene Abrufen ist dann das nächste Thema.
            Gruss Patrik alias swiss

            Kommentar


              #51
              Zitat von Bodo Beitrag anzeigen
              War mir klar, dass Du bei solchen Zeiten nie auf das richtige Ergebniss getippt hättest.
              Stimmt, wenn mich die Kiste zu solch unchristlichen Zeiten aufweckt fliegt sie gegen die Wand - bevor sie sich rechtfertigen kann
              Aber der Herr Hell (Insider.. DHL.. Die haben das für 40US$ echt per Express geschickt!!!) hat gestern angerufen und sich entschuldigt das es noch im Zoll hing (hurra! Ich kenn den Weg nach Garching doch schon - und ich geb ihnen auch die Einfuhr-Umsatzsteuer..) Man kennt die Regeln..

              Zitat von swiss Beitrag anzeigen
              Das Problem beim Chumby ist, dass der Name der Default Weckzeit leer ist
              Das geht easy (forcearray beim XMLin oder halt jeden Wert im foreach in ein Array pushen), aber bevor Du & ich jetzt da stundenlang trockenübungen durchführen, lassen wir den Tag 12h älter werden, in spätestens 48h kann ich das "in echt" sehen, dann weiss ich da mehr, weil dann will ich das haben

              Makki

              P.S,: Ihr seid schuld, so einen schmarrn mit Flash würd ich mir ja nie kaufen und das darf ich angesichts der 100 ausstehenden Spielzeuge auch nicht aber naja
              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
              -> Bitte KEINE PNs!

              Kommentar


                #52
                Ok, forcearray funzt irgendwie nicht, ergänzend zu dem von Bodo (Abfrage mit LWP) und meinem Beispiel:

                Code:
                my $alarms = XMLin($xml)->{alarm};
                my $result;
                
                while ((my $key) = each %{$alarms}) {
                    if ($key eq '') {
                        # mach was mit dem Default-alarm
                    }
                    $result .= "Alarm name '" . $key . "' has action: " . $alarms->{$key}->{action} . " runs on " . $alarms->{$key}->{when} . " at time " . $alarms->{$key}->{time};
                }
                return $result;
                Ansonsten fällt mir momentan nur ein: it's totally awesome

                Makki
                Angehängte Dateien
                EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                -> Bitte KEINE PNs!

                Kommentar


                  #53
                  Hoi

                  Auf dem Bild is das der Next-Generation-Chumby? Und die CV drauf? Cool.
                  Grüsse Bodo
                  Fragen gehören ins Forum, und nicht in mein Postfach;
                  EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                  Kommentar


                    #54
                    Also das geht echt gar nicht, dass Ihr den Makki dazu verführt habt, dass er sich jetzt so einen Chumby-Flash-Teil geholt hat. Der hat doch was anderes zu tun!

                    Ich glaube ich muss solche Gadgets aus dem Wiregate Support bereich verbannen, weil ich war auch schon auf der Chumby Webseite , konnte aber noch flüchten bevor ich auf den Bestell-Button gedrückt habe

                    Kommentar


                      #55
                      Hoi

                      Ich kann ohne den Elektrosmog in meiner Wohnung schon gar nicht mehr schlafen.

                      Wenn eins von den Gadgets nicht mehr läuft, dann spür ich das beinahe schon.

                      Fast wie Jean-Luc Picard in seiner Enterprise. Hihi
                      Grüsse Bodo
                      Fragen gehören ins Forum, und nicht in mein Postfach;
                      EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                      Kommentar


                        #56
                        Zitat von Bodo Beitrag anzeigen
                        Auf dem Bild is das der Next-Generation-Chumby?
                        Sollte der 8er sein. Genial finde ich ja, das ihr das jetzt schon gelöst habt. Brauche unbedingt auch so ein Teil genau für diese Anwendung, aber da ich noch kein Haus habe wäre das noch zu früh bestellt (wer weiß was der nächste Chumby kann?). Aber sobald das Haus steht wird so ein Ding geordert
                        Mit freundlichen Grüßen
                        Niko Will

                        Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                        - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                        Kommentar


                          #57
                          Hallo Makki,

                          colles Teil !!!

                          Kannst du nun zwischen der Software des Chumby´s und der CV wechseln?
                          Wie ruft man die CV mit dem Chumby auf ?

                          Gruß Manuel

                          Kommentar


                            #58
                            Hoi Manuel

                            Der neue Chumby8, hat einen Browser drauf, wenn ich das richtig gelesen hab'.
                            Grüsse Bodo
                            Fragen gehören ins Forum, und nicht in mein Postfach;
                            EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                            Kommentar


                              #59
                              Hallo Bodo,

                              danke für die Info

                              Gruß Manuel

                              Kommentar


                                #60
                                Hallo zusammen.

                                Wie kann ich ein Array in einer Schleife erstellen und dabei fortlaufend nummerieren?

                                Folgendes scheint nicht zu funktionieren:

                                Code:
                                my %alarm[$i] = (...
                                Gruss Patrik alias swiss

                                Kommentar

                                Lädt...
                                X