+ Antworten
Seite 2 von 2 ErsteErste 1 2
Ergebnis 11 bis 19 von 19
  1. #11
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,166

    Weil das genauso funktioniert wie bei allen Ereignissen!
    Liegt das Ereignis unterhalb einer Instanz und es steht ein zur Instanz passender Befehlen im Code, sollte die Console es erkennen und entsprechend darstellen.
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  2. #12
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,525

    Zitat Zitat von Nall-chan Beitrag anzeigen
    Weil das genauso funktioniert wie bei allen Ereignissen!
    Liegt das Ereignis unterhalb einer Instanz und es steht ein zur Instanz passender Befehlen im Code, sollte die Console es erkennen und entsprechend darstellen.
    Das passiert aber eben nicht, kannst Du gerne ausprobieren. Ich wüste nur zu gerne wo hier der Fehler zu suchen ist, bzw. was anders zu machen ist, aber dazu gibt die Dokumentation leider nichts her.
    PHP-Code:
    $parent_id 13352;

    CreateWeekplan($parent_id);

    function 
    CreateWeekplan($parent_id)
    {
    $eid IPS_CreateEvent(2);                  // Wochenplan Ereignis 2
    IPS_SetParent($eid$parent_id);         // set parent
    IPS_SetIcon($eid"Camera");
    IPS_SetIdent($eid"weekplan_position");
    IPS_SetInfo($eid"Wochenplan Preset Positions");
    IPS_SetName($eid"Wochenplan Preset Positions");
    IPS_SetEventScheduleAction($eid1'test 1'0xFF0000'$ident = "SetPosition";
    $value = 0;
    $target = $_IPS[\'TARGET\'];
    if (IPS_InstanceExists($target)) {
      $target = IPS_GetObjectIDByIdent($ident, $target);
    }
    RequestAction($target, $value);'
    );
    IPS_SetEventScheduleAction($eid2'test 2'0x00EDE9'$ident = "SetPosition";
    $value = 1;
    $target = $_IPS[\'TARGET\'];
    if (IPS_InstanceExists($target)) {
      $target = IPS_GetObjectIDByIdent($ident, $target);
    }
    RequestAction($target, $value);'
    );
    IPS_SetEventActive($eidtrue);             //Ereignis aktivieren
        
    return $eid;


  3. #13
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,166

    Erster Absatz Anbindungsarten:
    Ereignisse — IP-Symcon :: Automatisierungssoftware
    Dein Beispiel ist 'sonstiges'.
    Wenn die WebConsole dann da etwas nicht darstellen kann... Falsches Thema
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  4. #14
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,525

    Zitat Zitat von Nall-chan Beitrag anzeigen
    Dein Beispiel ist 'sonstiges'.
    Wieso ist mein Beispiel sonstiges? Der Wochenplan liegt direkt unterhalb einer Instanz und Ziel ist die Instanz selber, also aus meiner Sicht der häufigste Fall An Instanz gebunden. Warum das jetzt nicht funktioniert bin ich also immer noch nicht schlauer, nach Deiner Theorie sollte das ja funktionieren wenn es unterhalb einer Instanz liegt und das Ziel die Instanz selber ist.

  5. #15
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,166

    Ja stimmt, es wäre an Instanz gebunden, aber weil du dort viel mehr Code eingetragen hast als es für an Instanz gebunden erlaubt, kann die Console das nicht verarbeiten und zeigt undefiniert an.

    Mach es anders herum.
    Lege ihn in der Console an und lese den Code mit IPS_GetEvent aus.
    Dann siehst du was dir Konsole dort anlegt und erwartet.
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  6. #16
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,525

    Zitat Zitat von Nall-chan Beitrag anzeigen
    Ja stimmt, es wäre an Instanz gebunden, aber weil du dort viel mehr Code eingetragen hast als es für an Instanz gebunden erlaubt, kann die Console das nicht verarbeiten und zeigt undefiniert an.
    Ich glaube nicht das es an der Länge des Codes liegt denn IP-Symcon selber schreibt da auch keinen kürzeren Code rein, der Unterschied muss irgendwas anders sein.

    Zitat Zitat von Nall-chan Beitrag anzeigen
    Mach es anders herum.
    Lege ihn in der Console an und lese den Code mit IPS_GetEvent aus.
    Das habe ich bereits gemacht, da es ja keine Dokumentation gibt, schlau werde ich da dennoch nicht draus was IP Symcon anders macht, bis auf die GUID die ich nicht interpretieren kann.

    Aber vielleicht findest Du ja einen Unterschied.

    PHP-Code:
    array (
      
    'EventID' => 20393,
      
    'EventType' => 2,
      
    'EventActive' => true,
      
    'EventLimit' => 0,
      
    'EventConditions' => 
      array (
      ),
      
    'TriggerType' => 0,
      
    'TriggerVariableID' => 0,
      
    'TriggerValue' => '',
      
    'TriggerSubsequentExecution' => true,
      
    'CyclicDateType' => 0,
      
    'CyclicDateValue' => 0,
      
    'CyclicDateDay' => 0,
      
    'CyclicDateDayValue' => 0,
      
    'CyclicDateFrom' => 
      array (
        
    'Day' => 0,
        
    'Month' => 0,
        
    'Year' => 0,
      ),
      
    'CyclicDateTo' => 
      array (
        
    'Day' => 0,
        
    'Month' => 0,
        
    'Year' => 0,
      ),
      
    'CyclicTimeType' => 0,
      
    'CyclicTimeValue' => 0,
      
    'CyclicTimeFrom' => 
      array (
        
    'Hour' => 0,
        
    'Minute' => 0,
        
    'Second' => 0,
      ),
      
    'CyclicTimeTo' => 
      array (
        
    'Hour' => 0,
        
    'Minute' => 0,
        
    'Second' => 0,
      ),
      
    'ScheduleActions' => 
      array (
        
    => 
        array (
          
    'ID' => 1,
          
    'Name' => 'Position 1',
          
    'Color' => 11068511,
          
    'ScriptText' => '// Template ID: {FCE37F48-DA3F-45DD-AC77-71343792CC2D}
    // Template Name: Auf Wert schalten
    $ident = "GotoPosition";
    $value = 0;
    $target = $_IPS[\'TARGET\'];
    if (IPS_InstanceExists($target)) {
      $target = IPS_GetObjectIDByIdent($ident, $target);
    }
    RequestAction($target, $value);'
    ,
        ),
        
    => 
        array (
          
    'ID' => 2,
          
    'Name' => 'Position 2',
          
    'Color' => 7068772,
          
    'ScriptText' => '// Template ID: {FCE37F48-DA3F-45DD-AC77-71343792CC2D}
    // Template Name: Auf Wert schalten
    $ident = "GotoPosition";
    $value = 1;
    $target = $_IPS[\'TARGET\'];
    if (IPS_InstanceExists($target)) {
      $target = IPS_GetObjectIDByIdent($ident, $target);
    }
    RequestAction($target, $value);'
    ,
        ),
      ),
      
    'ScheduleGroups' => 
      array (
        
    => 
        array (
          
    'ID' => 0,
          
    'Days' => 1,
          
    'Points' => 
          array (
            
    => 
            array (
              
    'ID' => 0,
              
    'Start' => 
              array (
                
    'Hour' => 0,
                
    'Minute' => 0,
                
    'Second' => 0,
              ),
              
    'ActionID' => 1,
            ),
          ),
        ),
        
    => 
        array (
          
    'ID' => 1,
          
    'Days' => 2,
          
    'Points' => 
          array (
            
    => 
            array (
              
    'ID' => 0,
              
    'Start' => 
              array (
                
    'Hour' => 0,
                
    'Minute' => 0,
                
    'Second' => 0,
              ),
              
    'ActionID' => 1,
            ),
          ),
        ),
        
    => 
        array (
          
    'ID' => 2,
          
    'Days' => 4,
          
    'Points' => 
          array (
            
    => 
            array (
              
    'ID' => 0,
              
    'Start' => 
              array (
                
    'Hour' => 0,
                
    'Minute' => 0,
                
    'Second' => 0,
              ),
              
    'ActionID' => 1,
            ),
          ),
        ),
        
    => 
        array (
          
    'ID' => 3,
          
    'Days' => 8,
          
    'Points' => 
          array (
            
    => 
            array (
              
    'ID' => 0,
              
    'Start' => 
              array (
                
    'Hour' => 0,
                
    'Minute' => 0,
                
    'Second' => 0,
              ),
              
    'ActionID' => 1,
            ),
          ),
        ),
        
    => 
        array (
          
    'ID' => 4,
          
    'Days' => 16,
          
    'Points' => 
          array (
            
    => 
            array (
              
    'ID' => 0,
              
    'Start' => 
              array (
                
    'Hour' => 0,
                
    'Minute' => 0,
                
    'Second' => 0,
              ),
              
    'ActionID' => 1,
            ),
          ),
        ),
        
    => 
        array (
          
    'ID' => 5,
          
    'Days' => 32,
          
    'Points' => 
          array (
            
    => 
            array (
              
    'ID' => 0,
              
    'Start' => 
              array (
                
    'Hour' => 0,
                
    'Minute' => 0,
                
    'Second' => 0,
              ),
              
    'ActionID' => 1,
            ),
          ),
        ),
        
    => 
        array (
          
    'ID' => 6,
          
    'Days' => 64,
          
    'Points' => 
          array (
            
    => 
            array (
              
    'ID' => 0,
              
    'Start' => 
              array (
                
    'Hour' => 0,
                
    'Minute' => 0,
                
    'Second' => 0,
              ),
              
    'ActionID' => 1,
            ),
          ),
        ),
      ),
      
    'EventScript' => '',
      
    'LastRun' => 0,
      
    'NextRun' => 0,

    Wie Du siehst ist der Skriptext auch nicht kürzer
    PHP-Code:
     'ScriptText' => '// Template ID: {FCE37F48-DA3F-45DD-AC77-71343792CC2D}
    // Template Name: Auf Wert schalten
    $ident = "GotoPosition";
    $value = 1;
    $target = $_IPS[\'TARGET\'];
    if (IPS_InstanceExists($target)) {
      $target = IPS_GetObjectIDByIdent($ident, $target);
    }
    RequestAction($target, $value);'
    ,
        ),
      ), 

  7. #17
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,166

    Das ist ein Wert damit die Konsole weiß was dort enthalten ist, um es korrekt anzuzeigen.
    Aber das ist doch alles egal, wenn du einen Wochenplan in ein Modul nutzt, hat da eh keiner User etwas zu ändern.
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  8. #18
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,525

    Zitat Zitat von Nall-chan Beitrag anzeigen
    Das ist ein Wert damit die Konsole weiß was dort enthalten ist, um es korrekt anzuzeigen.
    Grundsätzlich wäre es halt schön man könnte das logischerweise per Skript genauso anlegen wie wenn es sich verhält und man das Ereignis von Hand anlegt.
    Zitat Zitat von Nall-chan Beitrag anzeigen
    Aber das ist doch alles egal, wenn du einen Wochenplan in ein Modul nutzt, hat da eh keiner User etwas zu ändern.
    Ja da hast Du ja grundsätzlich recht, Hauptsache der Wochenplan funktioniert. Sieht dennoch etwas komisch aus wenn man den Wochenplan denn mal öffnet. Und so was wie die Farben kann man ja durchaus anpassen und dann stolpert man zwangsweise über undefined.

  9. #19
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,166

    Zitat Zitat von Fonzo Beitrag anzeigen
    Grundsätzlich wäre es halt schön man könnte das logischerweise per Skript genauso anlegen wie wenn es sich verhält und man das Ereignis von Hand anlegt.
    Das funktioniert hier nicht, weil diese Logik von der Konsole kommt.
    Teste das anlegen und konfigurieren Mal mit IPS 5.1 stable und auch mit der legacy Konsole.
    Da gibt es immer Unterschiede.
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 04.05.19, 18:36
  2. Profil aus Modul heraus erstellen
    Von DerStandart im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 2
    Letzter Beitrag: 22.05.17, 13:42
  3. WebHook aus Modul dynamisch erstellen
    Von KaiS im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 74
    Letzter Beitrag: 27.01.17, 22:24
  4. Wochenplan erstellen wie???
    Von monte001 im Forum Skripte, PHP, SQL
    Antworten: 15
    Letzter Beitrag: 13.11.14, 14:58
  5. Wochenplan erstellen
    Von olima im Forum WebFront
    Antworten: 6
    Letzter Beitrag: 09.11.14, 17:29

Stichworte