+ Antworten
Seite 83 von 170 ErsteErste ... 33 73 81 82 83 84 85 93 133 ... LetzteLetzte
Ergebnis 821 bis 830 von 1696
  1. #821
    Registriert seit
    Oct 2006
    Ort
    Obervogau (Österreich)
    Beiträge
    207

    Standard Pass by reference

    Danke, das war der entscheidende Hinweis!
    So mag ich das, einfach, elegant und genial.
    Einzig die Stati c_Control_Step, c_Control_StepsToDo, c_Control_StartTime müssen zurückgesetzt werden um den Refreshtimer zu deaktivieren.
    System: IPS v4.0; Win7 SP1; EibPC; EIB/KNX; ELV HM LAN Adapter;
    Sensoren: EIB/KNX; FHT80b;FS20; HM-Wetter;
    PHP-Code:
    //Was nicht passt, wird passend gemacht
    if ($was!=($passt=1)) {$was $passt;} 

  2. #822
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    21,393

    Der Fehler in der 3.1 mit den falsch sortierten Assoziationen ist nun korrigiert. Ihr müsste jedoch die falsch einsortierten Einträge einmal umsortieren (dazu den Wert z.B. auf 100 ändern, Speichern und dann den Wert auf z.B. 0 zurück und wieder Speichern)

    paresy

  3. #823
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,408

    Aufruf der Installation löst das Problem natürlich auch (wenn man die Installation des WebFronts/Mobile über den Wizard deaktiviert dauert es auch nur 1-2 Sekunden)
    Gruß
    Andreas

  4. #824
    Registriert seit
    Jul 2010
    Beiträge
    53

    Standard Markise mit Taster steuern

    Ich möchte meine Markise mit einem 2-Tasten-Wandschalter steuern (Taste "raus" und "rein"). Die Logik soll sein, dass, wenn die Markise eingefahren ist, mit "raus" das Ausfahren gestartet wird. Wenn während der Fahrt nochmal auf den Taster gedrückt wird, soll an der Stelle gestoppt werden. Dazu habe ich folgendes Skript (Variante für "raus") erstellt, das mit der Taste als Event getriggert wird und die Variable "Step" direkt abfrägt:
    PHP-Code:
        IPSUtils_Include('IPSShadowing.inc.php''IPSLibrary::app::modules::IPSShadowing');
         
    $device_id 56526/*[Program\IPSLibrary\data\modules\IPSShadowing\Devices\Device5]*/
        
    $device = new IPSShadowing_Device($device_id);
        
    $variableId IPS_GetObjectIDByIdent(c_Control_Step$device_id);
        
    $step GetValueInteger($variableId);
        if(
    $step == -1){
          
    $deviceActive $device->MoveByControl(c_MovementId_MovedOut);
          }
         else{
          
    $deviceActive $device->MoveByControl(c_MovementId_Stop);
          }; 
    Das klappt so einwandfrei - gibt's dafür aber auch was "hübscheres", als die Variable direkt per IPS-Bordmitteln abzufragen - die Methoden in der IPSShadowing_Device zur Abfrage sind ja alle private...?

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

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

    Prinzipiell ist das schon in Ordnung, ich würde aber eher die Movement Variabale zur Steuerung verwenden:
    PHP-Code:
        IPSUtils_Include('IPSShadowing.inc.php''IPSLibrary::app::modules::IPSShadowing');
        
    $device_id 56526/*[Program\IPSLibrary\data\modules\IPSShadowing\Devices\Device5]*/
        
    $device = new IPSShadowing_Device($device_id);
        
    $variableId IPS_GetObjectIDByIdent(c_Control_Movement$device_id);
        
    $stateId GetValueInteger($variableId);
        if(
    $stateId != c_MovementId_Stop){
           
    $deviceActive $device->MoveByControl(c_MovementId_MovedOut);
        } else{
           
    $deviceActive $device->MoveByControl(c_MovementId_Stop);
        }; 
    Gruß
    Andreas

  6. #826
    Registriert seit
    Mar 2010
    Ort
    Austria - Korneuburg
    Beiträge
    248

    Standard Fehler behoben

    Die Fehler (nicht editierbarkeit der Profile und falsche Darstellung im Webfront) sind mit dem Update behoben.
    Danke paresy und Brownson für den schnellen Fix

  7. #827
    Registriert seit
    Nov 2013
    Beiträge
    225

    Hallo Andreas,

    ich hab mich mittlerweile weiter mit den Enocean Beschattungsaktoren, speziell den FSB14, auseinandergesetzt.

    Die Implementierung der Module in IPS lässt bisher nur das Simulieren eines Tastendruckes zu (Auf,Ab,Stopp). Die einzigen Rückmeldungen die IPS bisher unterstützt, sind die Endanschläge.

    Stoppt man diesen Sensor jedoch, wenn der Rollladen nicht in der Mitte ist, so sendet der Aktor die Fahrzeit. Ich habe auch schon eine RegisterVariable geschrieben, welche die Informationen auffängt. Muss das nur noch sauber in Module packen und die Informationen bei den einzelnen Aktoren ablegen (zB als Fahrzeit, oder direkt in IstPosition umrechnen).

    Ferner könnte ich dem Aktor auch direkt eine Fahrzeit vorgeben. Also nicht einfach nur "Fahre hoch" oder "Fahre runter" definieren, sondern "Fahre hoch für 10 Sekunden".

    Ich habe mir auch das IPSComponentShutter_Enocean Modul angeschaut, mir ist jedoch nicht klar, wie ich dort den direkten Fahrzeit befehl einbauen könnte.

    Die Befehle an den Aktor habe ich im Test im Endeffekt mit dem Befehl

    Code:
    CSCK_SendText(12345/*[Enocean Socket]*/ , MeinSendeCodeInHexFormat);
    gesendet.

    Den SendeCode muss ich natürzlich zusammen bauen, ja nach Angabe aus IPSShadowing.

    Hierfür würde ich gerne für jeden Rollladen analog zum IPSShutterModul die Fahrzeiten für folgende Positionen festlegen:
    Öffnen: unten, halb offen, offen
    Schließen: halb offen, unten, geschlossen

    Mit diesen Angaben und der Rückmeldung über die Fahrzeiten lässt sich dann immer die Aktuelle Position berechnen.

    Ich suche derzeit in deiner Programmstruktur die Übergebene Variable für das Steuern der Aktoren. (Auf, 90%, 75%, 50%, Zu).

    Es wäre Klasse wenn du mir kurz sagen könntest, ob es Möglich ist, dass ich entweder das IPSComponentShutter_Enocean Modul anpassen kann( oder ein neues IPSComponentShutter_EnoceanFBS14 Modul erstelle), welches die direkte Ansteuerung ermöglicht, sprich ich den Wert für die Zielposition dort mit einbringen kann.

    Da ich gerade erst Anfange mich mit PhP auseinander zu setzen und auch das Object orientierte Programmieren neu für mich ist, brauch ich etwas länger bis ich alles verstanden habe.

    Danke schon mal im Voraus und Grüße,
    Maze

  8. #828
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,408

    Hallo Maze,

    Die Fahrzeit kannst Du über die Variable StepsToDo ermittlen oder Du kannst sie selbst über die Position errechnen. Vorgesehen ist eine Übergabe dieses Wertes an die Ansteuerungs Komponente aber nicht.
    Sollte eigentlich auch nicht nötig sein, da IPSShadowing einen Stop auslöst, wenn die Position erreicht ist. Einfach eine Ansteuerung auf Position 0 bzw. 100 implementieren und es sollte klappen.

    Zusätzlich kannst Du ja noch die aktuelle Position Deiner Register Variable nach IPSShadowing synchronisieren:
    PHP-Code:
        IPSUtils_Include ("IPSShadowing.inc.php""IPSLibrary::app::modules::IPSShadowing");
        
    $device = new IPSShadowing_Device($deviceId);
        
    $device->MoveByEvent($position); 
    Gruß
    Andreas

  9. #829
    Registriert seit
    Nov 2013
    Beiträge
    225

    Hallo Andreas.

    Da hast du natürlich recht

    Mir war die Ansteuerung nur zu ungenau, da ich lediglich die auf- und Abzeiten hinterlegen kann, aber der Rollladen ja vorher unten ist. Aber das ist eigentlich nicht so wild.

    Das schreiben der neuen Rollladen Position funktioniert.

    Kannst du mir eine einfache Möglichkeit mitteilen, wonach die DeviceID Abfragen kann, wenn ich über eine foreach schleife aller devices dessen fortlaufende Nummer ,zB 10, kenne.

    Ferner müsste für die EnoceanInstanz noch eine ReturnID zu jedem Device hinzugefügt werden. Ob jetzt im IPSShadowing Device, oder direkt im Enoceanmodul ist prinzipiell egal.

    Mit noch einem kleinen Schubs von dir wegen der DeviceID habe ich das Modul bald fertig.

    Gruß
    Maze

    PS: Als "Abfallprodukt" ist schon ein Enocean Funkprotokoll Reader entstanden und es werden einzelne Klassen für die bei mir verwendeten Eltako Reihe 14 Aktoren entstehen

  10. #830
    Registriert seit
    Nov 2013
    Beiträge
    225

    Habs schon selbst rausgefunden

    Dein IPSUtil_ObjectIDByPath hat geklappt.

    Gruß
    Maze

Ähnliche Themen

  1. FS20BS Beschattungssteuerung
    Von MicF im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 5
    Letzter Beitrag: 05.01.11, 19:08

Stichworte