+ Antworten
Seite 1 von 8 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 76

Thema: eFHT - Brick

  1. #1
    Registriert seit
    Oct 2006
    Ort
    Obervogau (Österreich)
    Beiträge
    207

    Post eFHZ / eFHT / eFS20 - Bricks

    eFHZ - enhanced FHZ ; eFHT - enhanced FHT ; eFS20 - enhanced FS20
    Mit diesen Bricks ist es möglich die vorhandenen Funktionen der FHZ & FHT Thermostate & FS20 Aktoren im IPS weiter auszuschöpfen.
    Inhalt: In jedem Paket sind die Skripte und eine Anleitung enthalten. Im eFHZ Brick ist zudem auch die Core.Main.dll für die Verwendung von IPS-Bricks inkludiert.

    Achtung: Die Bricks sind nur in der IPS V1 lauffähig.

    Die wären beim eFHT Brick:
    • Nutzung der Komfort-,Absenk- und Fenstertemperatur
    • Nutzung der Party-/Urlaubsfunktion
    • Nutzung des Wochenprogrammes
    • ev. folgen noch weitere wenn sich die Sinnhaftigkeit erkennen lässt :-)

    Das Senden und Empfangen (= bidirektional, soweit man das bei den FHT nennen kann) der Funktionen ist in den Bricks vorhanden.

    ... und hier ein kleines eFHT-Beispielskript:
    PHP-Code:
    <?
    /*
    *******************************
     IP-SYMCON Event Scripting
    *******************************
    */
    include('../bricks/eFHT/class.eFHT.php');
    eFHT::Begin("OFFIC_eFHT");

    eFHT::bFHT_SetMode(mktime(13,20,0,2,18,2008));
    eFHT::bFHT_SetTemperature(25.5);
    eFHT::bFHT_SendTo();
    ?>
    Die wären beim eFS20 Brick:
    • toggeln des Zustandes an FS20 Aktoren
    • relative Dimmung möglich, auf volle Helligkeit dimmen ohne den aktuellen Wert zu verändern
    • Nutzung des internen Timers von FS20 Aktoren (z.B.: FS20DU)

    ... und hier ein kleines eFS20-Beispielskript:
    PHP-Code:
    <?
    /*
    *******************************
     IP-SYMCON Event Scripting
    *******************************
    */
    include('../bricks/eFS20/class.eFS20.php');
    eFS20::Begin("FSDU");
    eFS20::sFS20_SetTimer(300);
    eFS20::sFS20_SwitchMode(true);
    ?>
    P.S: Danke an steiner & paresy für die Genehmigung zur Veröffentlichung
    Für Interessierte: Viel Spass beim Ausprobieren!

    UPDATES - eFHZ:
    • 05.03.2008: Schaltjahrproblem bei alten FHT's eingearbeitet -> Tipp von DHOKAI
    • 04.03.2008: komplett neu überarbeitet
    • 16.02.2008: Release

    UPDATES - eFHT:
    • 24.05.2008: Bugfix bei bFHT_SetMode -> Danke bmwm3 & weitere vFHT_ Variablenfunktionen
    • 05.03.2008: Schaltjahrproblem bei alten FHT's eingearbeitet -> Tipp von DHOKAI
    • 04.03.2008: komplett neu überarbeitet
    • 25.02.2008: eFHT_DecodeWP() -> Tipp von wgreipl
    • 24.02.2008: bFHT_RclWeekProgram -> Tipp von wgreipl
    • 24.02.2008: Bugfix bei der Aktualisierung der Statusvariablen -> Tipp von wgreipl
    • 16.02.2008: Release

    UPDATES - eFS20:
    • 01.05.2008: Release

    Gruß
    Günter.
    Geändert von Spawn (18.07.08 um 19:02 Uhr)
    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. #2
    Registriert seit
    Feb 2008
    Beiträge
    17

    Standard Absturz von IPS nach dem ausführen von eFHZ Script

    Hallo Günter,

    Dein Brick hört sich sehr interessant an.
    Ich habe versucht es nach deiner Anleitung zu installieren.
    - Core.Main.dll getauscht
    - eFHZ Script angelegt
    - Name für Buffer ebenfalls auf eFHZ_buffer gesetzt
    - Name für Berechnung auf eFHZ_calc gesetzt
    - Script gespeichert
    Jetzt habe ich Deine Anleitung so verstanden, dass das Script nun ausgeführt werden soll.

    IPS quittiert das Ausführen aber mit der Sanduhr und 100% CPU-Last des IPS Prozesses.

    Kannst Du mir helfen was ich falsch mache ?
    Gruss
    Chris

  3. #3
    Registriert seit
    Oct 2006
    Ort
    Obervogau (Österreich)
    Beiträge
    207

    Standard Prozessorlast 100%

    Zitat Zitat von balihannes Beitrag anzeigen
    IPS quittiert das Ausführen aber mit der Sanduhr und 100% CPU-Last des IPS Prozesses.
    Hallo Chris,
    das soll natürlich nicht vorkommen. Grundsätzlich hast du keinen Fehler produziert.

    Durch die FHT und die Resourcen die dein PC dem IPS zur Verfügung stellt könnte es aber so sein.

    • Für ein Fehlerkontrolle musst du nur die Eventtrigger von eFHZ_buffer und eFHZ_calc entfernen.
    • Ich habe ein paar Bilder für deine Fehlersuche angehängt.
      Bitte sieh nach ob alle Teile installiert und richtig gesetzt wurden.
    • Hast du bereits FHT Scripts erzeugt. bzw wieviele Scripts/FHT's hast du inkludiert?
    • Versuche einmal beim Berechnungsscript (eFHZ_calc) den Eventtrigger zu entfernen.
      Beim Pufferskript (=eFHZ_buffer) muss der Trigger auf OnUpdate stehen.
      Es sollten nun beide Variablen aktualisiert werden, wobei die Prozessorlast nur unwesentlich oder gar nicht ansteigen soll.

    Anmerkung:
    Das eFHT-Brick ist erst in Alpha, ich habe noch kein Feedback um die Skripts optimieren zu können.

    Gruß
    Günter.
    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;} 

  4. #4
    Registriert seit
    Feb 2008
    Beiträge
    17

    Hallo Günter,

    er legt beim Ausführen weder das calc noch das buffer Script an.
    Die Register-Var. wird ebenfalls angelegt.

    Ich habe herausgefunden, dass er bei diesem Schritt abstürzt:
    (im run.brx.php Script)
    $ok=IPS_CreateModuleInstance('{A3855B3C-7CD6-47CA-97AB-E66D346C037F}');

    Muss ich irgend etwas per Hand noch anlegen ?
    Gruss
    Chris

  5. #5
    Registriert seit
    Oct 2006
    Ort
    Obervogau (Österreich)
    Beiträge
    207

    Standard RegisterVariable

    Hallo Chris,

    warum der Fehler bei IPS_ModuleCreateInstance auftritt kann ich dir noch nicht sagen, muss mich selbst mal schlau machen.

    Aber versuche einmal folgendes Prozedere:

    Manuell:
    1. ein RegisterVariable Modul erstellen, dieses Modul mit dem FTDI Modul in BEIDEN Richtungen verbinden
    2. im RegisterVariableModul die Variable eFHT_buffer auf Append Variable eintragen, BufferSize = 8096


    Hier die beiden Scripts:
    ACHTUNG: die Empfangsvariablen eFHT_buffer & eFHT_calc sind hier hardcoded. Bei Verwendung anderer Variablennamen sind sie hier eventuell anzupassen.

    PHP-Code:
    <?
    /*
    *******************************
     IP-SYMCON Event Scripting  eFHT_buffer
    *******************************
    */
    function ChkOld($new) {return ($new!=GetValueString("eFHZ_calc"));}

    $stbyt=chr(0x81);$rest=explode($stbyt,$IPS_VALUE,2);$teil=explode($stbyt,$IPS_VALUE);
    $word=$teil[0];$len1=ord(substr($word,0,1));$len2=ord(substr($teil[1],0,1));
    if (
    $len1>=strlen($word)&&$len1!=$len2$word.=$stbyt.$teil[1];
    if (
    $len1>0) {
       
    $new1=substr($stbyt.$word,0,$len1+2);
       
    $new2=$stbyt.chr($len1).substr($word,0,$len1+1,$len1-2);
       if (
    strlen($new1)>$len1 && ChkOld($new1)) SetValueString("eFHZ_calc",$new1);
       if (
    strlen($word)>$len1+2) {
          if (
    strlen($new2)>$len1 && ChkOld($new2)) SetValueString("eFHZ_calc",$new2);
       }
    }
    if (
    count($rest)>1SetValueString("eFHZ_buffer",$rest[1]);
    ?>
    PHP-Code:
    <?
    /*
    *******************************
     IP-SYMCON Event Scripting eFHT_calc
    *******************************
    */
    include(IPS_GetKernelDir()."bricks\\eFHT\\recv.eFHZ.php");
    /*
    ********************************************************************
    * ANSCHLIESSEND DIE ZU VERWENDETEN eFHT BRICKS EINBAUEN
    * z.B:
    * include("ROOM1_eFHT.ips.php");
    * Check($IPS_VALUE);
    * include("ROOM2_eFHT.ips.php");
    * Check($IPS_VALUE);
    * etc..
    * [Die INCLUDES NICHT in Schleifen verbauen -> Timingprobleme]
    ********************************************************************
    */

    ?>
    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;} 

  6. #6
    Registriert seit
    Feb 2008
    Beiträge
    17

    Hallo Günter,

    ich glaube ich habe die Lösung.
    Ich habe eine Register-Var. manuell angelegt.
    nur um mal eine angelegt zu haben.

    jetzt das Script erneut ausgeführt mit dem Erfolg:
    - kein Absturz !!!
    - eine weitere Register-Var. erstellt und verbunden
    - Variablen erstellt und zugewiesen
    - die 2 Scripte erstellt (calc und buffer)

    Ich glaube es sieht jetzt ganz gut aus.
    (Ich werde jetzt weiter testen)

    Ich bedanke mich bei Dir für die schnelle Hilfe.
    Gruss
    Chris

  7. #7
    Registriert seit
    Oct 2006
    Ort
    Obervogau (Österreich)
    Beiträge
    207

    Standard CreateModuleInstance

    Hallo Chris,
    schön dass das jetzt klappt bei dir.

    Zitat Zitat von balihannes Beitrag anzeigen
    (im run.brx.php Script)
    $ok=IPS_CreateModuleInstance('{A3855B3C-7CD6-47CA-97AB-E66D346C037F}');
    Ich weiß noch nicht wie sich die falsche GUID Adresse bei dir "materialsiert" hat. Das run.brx.php Skript vom eFHZ-Brick sollte jedenfalls so aussehen:

    PHP-Code:
    // Zeile 12 bis 26 kontrollieren

    foreach ((IPS_GetInstanceIDsByGUID("{F3855B3C-7CD6-47CA-97AB-E66D346C037F}")) as $IPS_INSTANCE) {
       
    $inssetbef[$IPS_INSTANCE]=$IPS_INSTANCE;
    }
    // Modul erstellen
    $ok=IPS_CreateModuleInstance('{F3855B3C-7CD6-47CA-97AB-E66D346C037F}');
    if (
    $ok) {
       echo 
    "Schritt 1: OK: Das RegisterVariable Modul wurde erfolgreich erstellt.".chr(13);
    }
    else {
       echo 
    "Schritt 1: FEHLER: Das RegisterVariable Modul konnte nicht erstellt werden!".chr(13);
       exit;
    }
    foreach ((
    IPS_GetInstanceIDsByGUID("{F3855B3C-7CD6-47CA-97AB-E66D346C037F}")) as $IPS_INSTANCE) {
       
    $inssetaft[$IPS_INSTANCE]=$IPS_INSTANCE;

    Die Skript müssten jedenfalls stimmen, ich habe sie gerade noch einmal heruntergeladen und kontrolliert.

    Günter.
    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;} 

  8. #8
    Registriert seit
    Feb 2008
    Beiträge
    17

    Hallo Günter,

    das A steht nur Temp. im Script von meinen Experimenten um es zum laufen zu bringen.

    Der Absturz kam mit dem original Script, in dem natürlich ein F ist.


    Wie gesagt wenn irgendeine Reg.Var vorhanden ist, dann geht Dein Script.
    Gruss
    Chris

  9. #9
    Registriert seit
    Aug 2005
    Ort
    Fürstenfeldbruck-Aich (Bayern)
    Beiträge
    4,048

    Hallo Spawn,

    selbes Problem wie beim Vorredner.

    Habe die Core ausgetauscht und die beiden Bricks in den Ordner Bricks geschoben,

    • IPS gestartet
    • Die Klasse eFHZ im Skripteditor angelegt.
    • Die beiden Variablen im BricksEditor vergeben (ohne die Var manuel anzulegen)
    • gespeichert
    • und Execute.


    Ab diesem Zeitpunkt steht IPS und kann nur noch hart beendet werden.

    Eine Idee?
    Gruß
    Werner

    Komponenten:: Homematic(CCU) 250DP, EATON-MOELLER, 1-Wire, WMRS200, 15" Touchdisplay
    Software::
    IPS V4.x, iMobile, WebFront, Logitech Media Server 7.8.x, SONOS
    Hardware:: IPS-Server: ESXi 6.x, Windows 10 Ent, 4 Kerne, 8GB RAM

  10. #10
    Registriert seit
    Oct 2006
    Ort
    Obervogau (Österreich)
    Beiträge
    207

    Zitat Zitat von wgreipl Beitrag anzeigen
    Ab diesem Zeitpunkt steht IPS und kann nur noch hart beendet werden.
    Hallo Werner, ehrlich gesagt ich weiß nicht warum das anscheinend nur bei mir funktioniert!
    Aber versuche es mal wie Chris die Empfangsvariablen (String-Typ) von Hand zu erstellen. Chris hat es damit geschafft! Ich habe erst heute wieder das Ganze bei mir ohne Fehler installiert.
    Das eFHZ Skript sollte nur eine Installationshilfe sein. Probiere mal den Manuellen Weg

    Gruß
    Günter.
    Geändert von Spawn (23.02.08 um 15:02 Uhr)
    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;} 

Ähnliche Themen

  1. Mysql Data Wartungs Brick
    Von elektrofreak im Forum Bricks
    Antworten: 0
    Letzter Beitrag: 20.04.07, 14:06
  2. Brick: EIB_SetBusTime (& Date)
    Von Olli im Forum Bricks
    Antworten: 0
    Letzter Beitrag: 09.04.07, 02:30