+ Antworten
Seite 2 von 29 ErsteErste 1 2 3 4 12 ... LetzteLetzte
Ergebnis 11 bis 20 von 286
  1. #11
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,289

    OK, ich lass mir das nochmals durch den Kopf gehen und implementiere eventuell einige "Callback" Funktionen, mit denen man das alles in jedem Fall realisieren kann.

    lg
    Andreas

  2. #12
    Registriert seit
    Jul 2010
    Beiträge
    53

    Die Lösung mit Callbacks wäre super, ich hätte da auch noch die Idee, Bodenfeuchtesensoren einzubinden. Das sollte damit dann auch problemlos möglich sein.

    Viele Grüße,
    Martin
    --
    Homematic piVCCU&LAN-Adapter, EnOcean, Plugwise, Solarlog, IPS868, ... - 5@SymBox

  3. #13
    Registriert seit
    Apr 2007
    Beiträge
    54

    Zitat Zitat von Brownson Beitrag anzeigen
    FS20 Einbindung:

    1.) Im File IPSWatering_Constants.ips.php einen zusätzlichen DeviceType FS20 anlegen.


    2.) Im File IPSWatering_Control.ips.php die FS20 Ansteuerung implementieren.
    a.) in der bestehenden Funktion "IPSWatering_ActivateWatering" den neuen DeviceType behandeln.

    b.) die eingentliche Schaltfunktion "IPSWatering_ActivateWateringFS20" implementieren

    3.) Konfiguration anpassen

    Bitte um Rückmeldung, falls es wer praktisch verifizieren konnte, dann werd ich es in die Scripts einpflegen

    lg
    Andreas
    Hallo!

    Habe das Script inkl. FS20 Anpassung jetzt ausgeführt, und mir sind 2 Sachen aufgefallen:

    --> Es wurde alles ordnungsgemäß angelegt (Skripte und Variablen) nur meine FS20-Instanzen fehlen. Ist das was falsch oder muss ich manuell anlegen?

    --> Wenn ich in der Autmoatik was verändern möchte bekomme ich eine Fehlermeldung, die auf eine fehlende IPSLogger.php hinweist.

    Bitte um Unterstützung!

    Danke!

    Stefan

    PS: Ansonsten großes Lob zu diesem Modul!

  4. #14
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,289

    Hallo Stefan,

    das Anlegen der Instanzen für die eigentliche Hardware muß immer manuell erledigt werden (betrifft auch Homematic, eine autom. Installation würde sehr viele und unterschiedliche Parameter benötigen. Mit diesem Modul verlinkt man nur mehr auf die fertigen Instanzen).

    Für den Betrieb ist der IPSLogger nötig, ich werde das bei nächster Gelegenheit in der Doku noch korrigieren ...

    Am Wochenende werde ich wahrscheinlich wieder eine neue Version mit zusätzlicher Hardware Unterstützung und Callback Methoden posten ...
    Gruß
    Andreas

  5. #15
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,289

    Hallo Leute,

    kleines Update zur Bewässerungssteuerung:
    • FS20 wird nun direkt unterstützt, einfach als DeviceType c_Type_FS20 angeben
    • neue Callback Methode IPSWatering_ActivateWateringCustom, DeviceType muß auf c_Type_Custom gesetzt sein, dort kann man dann das Schalten der eigenen Hardware implementieren.
    • neue Callback Methoden IPSWatering_BeforeActivateWatering und IPSWatering_AfterActivateWatering, hier kann man die Logik eines Bodenfeuchtesensor implementieren oder auch die Wasserversorgung Ein- und Ausschalten


    Die neuen Funktionen befinden sich im File IPSWatering_Custom.ips.php, im Header jeder Funktion befindet sich auch eine detailierte Beschreibung der Parameter.

    Werde auch das WIKI bei nächster Gelegenheit anpassen.
    Gruß
    Andreas

  6. #16
    Registriert seit
    Apr 2007
    Beiträge
    54

    Hallo Andreas!

    Mittlerweile habe ich alles hingebracht. - Danke! Das mit den CallBacks muss ich jetzt noch testen.

    Ich hätte zum FS20-System noch eine kleine Codeänderung vorzuschlagen.

    Da dies ja ein unidirktionales System ist, und die Gefahr besteht, dass bei nicht ankommenden Abschaltbefehelen aus dem Garten ein See wird, habe ich das Skript so geändert, dass die eingestellte Bewässerungsdauer gleich mit dem Einschaltbefehl an den FS20 Aktor mitübergeben wird. Sicherheitshalber wird dann trotzdem noch ein Ausschaltbefehl gesendet.

    Hier der Code:

    PHP-Code:
        // ----------------------------------------------------------------------------------------------------------------------------
        
    function IPSWatering_ActivateWateringFS20($DevicePath$Value$FS20CircleId) {  // $FS20CircleId --> die ID des Bewässerungskreis wird mitübergeben
           
    $DeviceId get_ObjectIDByPath($DevicePath);
           
    $FS20_Duration GetValue(get_ControlId(c_Control_Duration$FS20CircleId)); // Eingestellte Bewässungsdauer wird abgefragt

          
    IPSLogger_Dbg(__file__"Set '$DevicePath.Status'=".($Value?'true':'false'));
           if (
    $DeviceId===false){
              
    IPSLogger_Wrn(__file__"Device $DevicePath could NOT be found to activate Watering");
              return;
           }
          if (
    $Value==true)
          {  
    $fs20dur_sek=($FS20_Duration*60);  // Umwandlung in Sekunden
             
    FS20_SwitchDuration($DeviceIdtrue$fs20dur_sek); // statt SwitchMode wird hier mit SwitchDuration gleich die Einschaltdauer mitübergeben.
          
    }
          else

            {
    FS20_SwitchMode ($DeviceIdfalse);} // Hier wird zusätzlich zum Timer wieder ausgeschaltet  - sicher ist sicher
            
    ;
        }

        
    // ----------------------------------------------------------------------------------------------------------------------------
        
    function IPSWatering_ActivateWatering($CycleId$Value$Mode) {
            
    $WaterConfig get_WateringConfiguration();
            
    $CircleName  IPS_GetName($CycleId);
            
    $DeviceType  $WaterConfig[$CircleName][c_Property_Type];
            
    $DevicePath  $WaterConfig[$CircleName][c_Property_Device];
            if (!
    IPSWatering_BeforeActivateWatering($CycleId$Value$Mode)) {
               return 
    false;
            }
            switch(
    $DeviceType) {
               case 
    c_Type_Homematic:
                  
    IPSWatering_ActivateWateringHomematic($DevicePath$Value);
                  break;
               case 
    c_Type_FS20:
                  
    IPSWatering_ActivateWateringFS20($DevicePath$Value$CycleId); // Hier muss die CycleId mitübergeben werden, um dann in der Funktion die Dauer abfragen zu können
                  
    break;
               case 
    c_Type_Custom:
                  
    IPSWatering_ActivateWateringCustom($CycleId$DevicePath$Value);
                  break;
                default:
                   
    IPSLogger_Err(__file__"Unknown DeviceType '$DeviceType' for Watering of Circle '$CircleName'");
                   exit;
            }
            
    IPSWatering_AfterActivateWatering($CycleId$Value$Mode);

            return 
    true;
        } 
    Lg Stefan
    Geändert von preto (24.06.11 um 09:17 Uhr)

  7. #17
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,289

    Sehr gut, werds übernehmen ...
    Gruß
    Andreas

  8. #18
    Registriert seit
    Sep 2008
    Beiträge
    44

    Standard Problem bei der Installation

    Hallo Brownson,

    Ich versuche seit gestern abend IPSWatering zu installieren, komme aber auf Grund eines Fehlers nicht weiter. Da ich mich mit PHP nicht auskenne, finde ich leider die Ursache nicht.
    Die Warnings sind im angehängten Screenshot ersichtlich und kommen offensichtlich aus dem Installer. Was mache ich falsch?
    Kannst du mir bitte helfen?

    Gruß Robert
    Angehängte Grafiken Angehängte Grafiken  
    Geändert von erga (03.07.11 um 08:54 Uhr)

  9. #19
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,289

    Hallo Robert,

    Was mache ich falsch?
    Nichts - da hat sich ein kleiner Fehler eingeschlichen, ich lade eine neue Version in Kürze hoch ...
    Gruß
    Andreas

  10. #20
    Registriert seit
    Sep 2008
    Beiträge
    44

    Oh super!

    Danke!