+ Antworten
Ergebnis 1 bis 5 von 5
  1. #1
    Registriert seit
    Mar 2010
    Ort
    S-H
    Beiträge
    629

    Standard Rotes Ausrufezeichen vor dem Script - mal ja - mal nein - Warum?

    Hallo,

    Habe vor einigen Tagen ein recht einfaches Script erstellt, was auch anscheindend funktioniert. Es soll die Umwälzpumpe dann einschalten, wenn die Temp. am Ofen größer 25 Grad wird. Und wieder abschalten, wenn die Temp. wieder darunter liegt. Dafür wird das Script minütlich ausgeführt.

    PHP-Code:
    <?

    // Pumpe abhängig von der Temperatur schalten


    $hm_id 49244 /*[Heizung\Kaminofen\Kaminofen Pumpe]*/;
    $soll_temp GetValue(15581 /*[Heizung\Kaminofen\Schaltschwelle]*/);
    $ist_temp GetValue(18539 /*[Heizung\Kaminofen\Kaminofen Temperatur\Temperatur]*/);

    // Zum Debuggen
    // echo $soll_temp."\n";
    // echo $ist_temp;

    $objekt IPS_GetObject($IPS_SELF);

    // wenn zu warm, wird die Pumpe eingeschaltet ...
    if ($ist_temp $soll_temp)
       {
       
    HM_WriteValueBoolean($hm_id"STATE"true);
        
    IPS_LogMessage("Script ".$objekt['ObjectName'],"Pumpe - Kaminofen eingeschaltet!");
        }
    // wenn wieder abgekühlt, geht die Pumpe wieder aus ...
    else
       {
       
    HM_WriteValueBoolean($hm_id"STATE"false);
        
    IPS_LogMessage("Script ".$objekt['ObjectName'],"Pumpe - Kaminofen ausgeschaltet!");
        }

    ?>
    Und wenn ich die Sache in der Console beobachte, erscheint für mich nicht nachvollziehbar oft ein rotes Ausrufezeichen davor. Beim nächsten oder übernächsten Start durch das Ereignis geht es dann weg. Irgendwann erscheint es wieder. Das Script soll fehlerhaft sein. Führe ich es manuell aus habe ich nie eine Fehlermeldung.

    Bevor ich die Sache scharf schalte (z.Z. noch Testbetrieb), möchte ich natürlich sichergehen, dass es auch zuverlässig funktioniert. Oder gibt es für mein "Vorhaben" andere Vorschläge? Hatte auch mal das (http://www.ip-symcon.de/service/doku...ating-control/) angedacht.
    Gruß Andreas.
    -----------------------------------------------------------------
    IP-Symcon 5.3, Windows x64, 28.11.2019, 321402ec4fe0 - virt. W2k8 R2, CCU2, HM-Funk-und Wired-Komponenten, Tasmota-Geräte, FB7390 (Telefonie), 1-wire-Temp.fühler, Pokeys, RPi, Sophos-UTM, Ubiquiti-APs

  2. #2
    Registriert seit
    Oct 2007
    Ort
    Villach,Kärnten,Österreich
    Beiträge
    3,187

    Servus
    will nicht kritisieren, aber du hast ja danach gefragt.

    Also: Solche Sachen macht man eigentlich nicht mit periodisch gestarteten Scripten.
    - Viel besser ist das per Ereignissteuerung. d.h. ein Ereignis anlegen und das Script per "Bei Variableänderung" loslaufen lassen.
    Das verhindert unnötiges minütliche Wiederholungen und blockieren des Funkkanals. -> warum soll denn zb. minütlich "AUSSCHALTEN" gesendet werden, wenn eh schon aus ist.

    - Weiters solltest eine Hysterese einbauen. d.h. zwischen Ein/Ausschalten sollte noch eine Temperaturdifferenz sein.
    zb. über 40Grad "EIN" unter 38Grad "AUS" oder so. Das verhindert unnötiges oftmaliges Schalten.

    gruß
    bb

  3. #3
    Registriert seit
    Mar 2010
    Ort
    S-H
    Beiträge
    629

    Kritik ist gut! Darum frage ich ja nach.

    Deine Änderungen werde ich einpflegen. Ist das Aurufezeichen damit denn zu erklären?

    Hast Du schon mal was mit dem Heating Control gemacht? Da gibt es ja auch eine Hystere?
    Gruß Andreas.
    -----------------------------------------------------------------
    IP-Symcon 5.3, Windows x64, 28.11.2019, 321402ec4fe0 - virt. W2k8 R2, CCU2, HM-Funk-und Wired-Komponenten, Tasmota-Geräte, FB7390 (Telefonie), 1-wire-Temp.fühler, Pokeys, RPi, Sophos-UTM, Ubiquiti-APs

  4. #4
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    5,046

    Ich würde noch weiter gehen und zwei Ereignisse der Temperaturvariablen daran knüpfen. Nämlich einmal bei unterschreiten der Mindest- und bei überschreiten der Maximaltemperatur. Wie Bernhard es bereits angesprochen hat mit einer gewissen Hysterese. Und weiter solltest Du vorher den Status des HM-Aktors abfragen und nur bei abweichendem Zustand senden. Damit erfolgt kein unnötiger Schaltbefehl.

    Rein Interesse halber - wenn Du vor den Schaltbefehl ein "@" setzt - kommen die Ausrufezeichen dann immer noch?
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.5 auf Server 2016 / HM und HM-IP mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 252 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / Shelly / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / Harmony / Sainlogic / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  5. #5
    Registriert seit
    Mar 2010
    Ort
    S-H
    Beiträge
    629

    Hab mal schnell was nachgebessert:

    PHP-Code:
    <?

    // Pumpe abhängig von der Temperatur schalten


    $hm_id 49244 /*[Heizung\Kaminofen\Kaminofen Pumpe]*/;
    $status GetValueBoolean(IPS_GetVariableIDByName("STATE"$hm_id));
    $ein_temp GetValue(15581 /*[Heizung\Kaminofen\Schaltschwelle]*/);
    $aus_temp $ein_temp GetValue(54668 /*[Heizung\Kaminofen\Hysterese]*/);
    $ist_temp GetValue(18539 /*[Heizung\Kaminofen\Kaminofen Temperatur\Temperatur]*/);

    // Zum Debuggen
    echo "Zustand Pumpe: " .$status "\n";
    echo 
    "Temp.Einschalten: " $ein_temp " Grad Celsius\n";
    echo 
    "Temp.Ausschalten: " $aus_temp " Grad Celsius\n";
    echo 
    "Ist-Temp.: " $ist_temp " Grad Celsius\n";

    $objekt IPS_GetObject($IPS_SELF);

    // wenn zu warm, wird die Pumpe eingeschaltet ...
    if ($ist_temp $ein_temp)
       {
       if (!
    $status)
          {
          
    HM_WriteValueBoolean($hm_id"STATE"true);
            
    IPS_LogMessage("Script ".$objekt['ObjectName'],"Pumpe - Kaminofen eingeschaltet!");
            }
        }
        
    // wenn wieder abgekühlt, geht die Pumpe wieder aus ...
    if ($ist_temp $aus_temp)
       {
       if (
    $status)
            {
            
    HM_WriteValueBoolean($hm_id"STATE"false);
            
    IPS_LogMessage("Script ".$objekt['ObjectName'],"Pumpe - Kaminofen ausgeschaltet!");
            }
        }

    ?>
    Geändert von hrahlers (05.12.12 um 16:59 Uhr)
    Gruß Andreas.
    -----------------------------------------------------------------
    IP-Symcon 5.3, Windows x64, 28.11.2019, 321402ec4fe0 - virt. W2k8 R2, CCU2, HM-Funk-und Wired-Komponenten, Tasmota-Geräte, FB7390 (Telefonie), 1-wire-Temp.fühler, Pokeys, RPi, Sophos-UTM, Ubiquiti-APs

Ähnliche Themen

  1. Fragen vor dem Kauf
    Von bulldog06 im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 5
    Letzter Beitrag: 25.04.12, 09:27
  2. Vor dem Kauf-Fragen
    Von Scapas im Forum Off Topic
    Antworten: 15
    Letzter Beitrag: 10.01.12, 19:48
  3. Archive Handler hat rotes Ausrufezeichen ?
    Von Sascha im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 11
    Letzter Beitrag: 30.06.11, 14:41
  4. Script mit Timer Täglich 00:00 wurde ca. 300 mal ausgeführt.
    Von ThomasD im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 4
    Letzter Beitrag: 04.05.09, 21:10
  5. HILFE !! Script fehler meldung braue mal start hilfe
    Von Professorakiera im Forum Haustechnik
    Antworten: 23
    Letzter Beitrag: 28.03.07, 15:23