+ Antworten
Seite 5 von 5 ErsteErste ... 3 4 5
Ergebnis 41 bis 50 von 50
  1. #41
    Registriert seit
    Aug 2019
    Beiträge
    42

    Ok ich glaube ich habe das Problem gefunden. Wenn er den Wert 1000 erreicht und sich nichts ändert, wird auch effektiv kein neuer Wert ins Archiv geschrieben und somit hat er für den vergangenen Zeitraum auch keine Daten.

    Wie kann ich dieses Problem umgehen, habt ihr da Tipps für mich ?
    Raspberry 4 (4GB) mit IP-Symcon 5.4 -> 7x Siemens LOGO 8 SPS'en voll aufgerüstet mit diversen Analogen und Digitalen Ein- und Ausgängen zur Steuerung aller Lampen, Dimmer, Steckdosen und Jalousien-> 2x Möhlenhoff Alpha 2 Heizungssteuerung -> 1x Homematic CCU2 für diverser Sensoren und Rauchmelder | Work in Progress...

  2. #42
    Registriert seit
    Feb 2017
    Beiträge
    2,007

    Ich würde vorschlagen direkt über die aggregierten Werte zu gehen, beispielsweise die 5-Minuten-Aggregation.

  3. #43
    Registriert seit
    Feb 2020
    Beiträge
    191

    Standard Ausgabe der Variable?

    Zitat Zitat von Bayaro Beitrag anzeigen
    Hi!

    Falsch

    ArchiveHandler findest du in der IPS-Console unter "Kern Instanzen". Dort gibt es dann das "Archiv", davon die ID eintragen.
    Und als 2. (varId) dann die ID von deiner Variable eintragen, aus der die Archivdaten gelesen werden sollen. Also von der Variable die gelogged wurde/wird.

    Eine Ausgabe in eine andere Variable muss extra erfolgen!


    Hier gibt es noch weitere Beispiele:
    IP-Symcon - Wie kann ich... 2.0 - Seite 5

    Grüße,
    Chris
    Hallo,

    ich habe mir das Skript mal genauer angeschaut, verstehe es aber leider nicht so ganz. Die "varID" ist die zu loggende Variable, soweit verstanden. Aber wo ist der Mittelwert, den ich dann in eine (Mittelwert)-Variable mit zB. SetValue(ID "Mittelwert") schreiben würde.
    Da komme ich noch nicht klar.

    (Meine Frage bezog sich auf das erste der beiden verlinkten Beispiele.)

    Mag mir da einer einen Tipp geben?

    Gruß
    Marc

  4. #44
    Registriert seit
    Apr 2019
    Ort
    Etelsen bei Bremen
    Beiträge
    745

    Hi,
    meinst Du das erste Script von Bayaro? Von getMedian() bekommst Du einen Wert zurück und im Beispiel wird er nur angezeigt. Mit
    SetValue(ID-deiner-Variablen, getMedian ($IDArchiveHandler,$varId,$interval,$default)); würde sie abgespeichert werden.

    Ralf
    IPS 5.5 Unlimited / Docker / Synology DS415+

  5. #45
    Registriert seit
    Feb 2020
    Beiträge
    191

    Ja, ich meinte das von bbernhard, worauf sich auch Bayaro bezog.
    Das mit getMedian habe ich noch nicht ganz verstanden.
    Müsste das am Ende des Skripts genau so eingestellt werden?
    PHP-Code:
    SetValue(ID-deiner-VariablengetMedian ($IDArchiveHandler,$varId,$interval,$default)); 
    Und wird da dann auch nur der Mittelwert in der Variable erzeugt?

  6. #46
    Registriert seit
    Feb 2020
    Beiträge
    191

    Ok.
    Ich habe mich getraut und es scheint zu funktionieren.
    Aber, wie stelle ich das ein, dass das Skript auch dauerhaft ausgeführt wird?
    Oder wird es im Hintergrund ausgeführt und ich muss es dann zyklisch abrufen? Würde dann aber irgendwie keinen Sinn ergeben, da ich ja schon den Intervall vorgebe.

  7. #47
    Registriert seit
    May 2006
    Ort
    Hannover
    Beiträge
    3,497

    Das Intervall ist ja nur für den Zeitraum, den du auswertest.

    Wenn du diese Auswertung gern regelmäßig aktuell haben möchtest, dann solltest du dem Script ein zyklisches Ereignis geben, damit es regelmäßig aufgerufen wird .
    MfG Ralf

  8. #48
    Registriert seit
    Feb 2020
    Beiträge
    191

    Jetzt noch mal blöd gefragt:
    Derzeit sieht mein Skript so aus:
    PHP-Code:
    <?php

    $IDArchiveHandler 
    46602 /*your Archive Handler ID*/;
    $varId 52532 /*Var Id you want to examine*/;
    $interval 30/*Timespan in seconds for Mean/Median Calculation*/;
    $default 0/* default value in case no data capturd */

    echo "Mean: ".getMean ($IDArchiveHandler,$varId,$interval,$default);
    echo 
    chr (13). chr (10);
    echo 
    "Median: ".getMedian ($IDArchiveHandler,$varId,$interval,$default);



    function 
    getMean ($IDArchivehandler,$varId,$log_interval,$default) {
    $logData AC_GetLoggedValues ($IDArchivehandler$varIdtime()- $log_interval,time(),-1);
    if (
    count($logData) <1) return $default;
    foreach (
    $logData as $key => $data)
    {
        
    $value[$key] = $data['Value'];
    }
    return 
    array_sum($value)/count($value);
    }

    function 
    getMedian ($IDArchivehandler,$varId,$log_interval,$default) {
    $logData AC_GetLoggedValues ($IDArchivehandler$varIdtime()-$log_interval,time(),-1);
    if (
    count($logData) <1) return $default;
    foreach (
    $logData as $key => $data)
    {
        
    $value[$key] = $data['Value'];
    }
    asort($value);
    return 
    $value[count($value)/2];
    }

    SetValue(43254getMedian ($IDArchiveHandler,$varId,$interval,$default)); 

    ?>
    Die Abfrage erfolgt zyklisch.

    Müsste es nicht so sein, dass das Skript im Hintergrund ohne zyklische Abfrage läuft und nur die letzte Zeile in einem separatem Skript zyklisch nach Bedarf aus dem Archivhandler ausgelesen wird?

    PHP-Code:
    SetValue(43254getMedian ($IDArchiveHandler,$varId,$interval,$default)); 

  9. #49
    Registriert seit
    May 2006
    Ort
    Hannover
    Beiträge
    3,497

    Ein Script läuft im Symcon nicht im Hintergrund, es wird über ein Ereignis aufgerufen und wenn es nicht aufgerufen wird, dann setzt es auch den Wert mit dem Kommando in der Zeile am Ende nicht .
    MfG Ralf

  10. #50
    Registriert seit
    Feb 2020
    Beiträge
    191

    Danke,
    dann habe ich das soweit verstanden und es läuft ja auch.

Ähnliche Themen

  1. Graphendarstellung: Steigend statt Mittelwert
    Von pleibling im Forum WebFront
    Antworten: 2
    Letzter Beitrag: 13.02.14, 14:59
  2. Mittelwert aus zwei DS1820
    Von Borastoni im Forum Skripte, PHP, SQL
    Antworten: 13
    Letzter Beitrag: 22.12.11, 20:55
  3. Wie kann man berechnen ob Tag oder Nacht ist?
    Von mws im Forum Skripte, PHP, SQL
    Antworten: 4
    Letzter Beitrag: 03.10.11, 16:24
  4. Archive: Mittelwert
    Von steiner im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 14
    Letzter Beitrag: 21.07.10, 16:40
  5. Wärmemenge berechnen
    Von Doctor Snuggles im Forum Haustechnik
    Antworten: 5
    Letzter Beitrag: 27.03.06, 21:40