+ Antworten
Ergebnis 1 bis 8 von 8
  1. #1
    Registriert seit
    Feb 2019
    Beiträge
    14

    Standard Stromverbrauch erfassen per Script

    Hallo zusammen,

    ich habe folgendes Problem bzw. suche nach einem Lösungsansatz.
    Ich denke dies sollte per PHP Script recht einfach möglich sein,allerdings fehlen mir leider die
    nötigen Programmierkenntnisse um so etwas neu zu schreiben.

    Ich habe einen PV Stromspeicher installiert, dieses hat direkt hinter dem Stromnetzzähler einen Summenstromwandler
    um das Laden und Entladen des Speichers zu regeln.
    Per Modbus/TCP kann ich den Wert des Summenstromwandlers auslesen und in eine Variable schreiben mit einer aktualisierung von
    zb 1sek. Das funktioniert sowei super. Das sieht dann so aus, wenn ich Strom aus dem Netz beziehen habe ich einen negativen Wert in der Variablen, wenn Überschuss da ist und eingespeist wird von der PV Anlage einen postiven Wert.
    Somit habe ich den echtzeit Strombezug/Stromeinspeisung am meinen Zählpunkt bereits in IP Symcon.
    Jetzt möchte ich per script alle negativen werte und positiven Werten über ein Zeitraum zählen/loggen und dann automatisch in KWh
    umrechnen und in einer Variablen ausgeben lassen.
    Wenn das klappt wäre es super.

    Leider fehlt mir programmiertechnisch komplett der Ansatz. Eventl. hat ja jemand so etwas bereits umgesetzt.
    Ich würde mich über eure hilfe freuen.

    lg
    und Danke

    Rob

  2. #2
    Registriert seit
    Feb 2019
    Beiträge
    14

    Hallo zusammen,

    habe gerade die Instanz Energiezähler Tag entdeckt.
    Das sieht schon ganz gut aus.
    Ich muss jetzt eigentlich nur noch einer Variablen die positiv und negativ sein kann zwei variablen
    machen. eine mit den positiven und eine mit den negativen werden.
    Sollte von der logik wie folgt sein:
    wenn Variable A mit negativen Vorzeichen dann schreibe Wert in Variable B
    wenn Variable A mit positiven Vorzeichen dann schreibe Wert in Variable C

    Wie schreibe ich das in PHP??

    Variable B und C verknüpfe ich dann jeweils mit einer Instanz Engergiezähler.
    Würde mich über eure Hilfe freuen.

    Danke LG

    Rob

  3. #3
    Registriert seit
    Mar 2014
    Ort
    Mücke (Hessen)
    Beiträge
    871

    Hi,

    hier eine möglichkeit

    PHP-Code:
    <?php
    $pv 
    GetValue(12345); //Deine Ist Werte
    $wert_positiv 12345//ID Positive Werte
    $wert_negativ 12345//ID Negative Werte

    if $pv 0
     
    {
      
    SetValue($wert_positiv$pv);
     }
    else
     {
      
    SetValue($wert_negativ$pv);
     }
    Deine Variable muss natürlich diesen Script Triggern.

    Gruß
    IPS v5.1 Unlimited auf Ubuntu Server | IPSView | EnOceanPi | Z-Wave (Razberry) | Sonos | Fritzbox 7390 | 1-Wire | DMX | Dali | Pokeys57E | Siemens Logo 8 | Siemens S7-1200 | Wago SPS | KNX | Onkyo AVR | ModBus | HomeMatic@piVCCU | ESP8266 | MQTT | Ubiquiti | und noch viel mehr geplant

  4. #4
    Registriert seit
    Feb 2019
    Beiträge
    14

    Hi danke für die rasche antwort.
    HAbe es mal probiert bekomme jedoch folgende Fehlermeldung:

    Parse error: syntax error, unexpected '$pv' (T_VARIABLE), expecting '(' in /var/lib/symcon/scripts/38182.ips.php on line 6
    Abort Processing during Fatal-Error: syntax error, unexpected '$pv' (T_VARIABLE), expecting '('
    Error in Script /var/lib/symcon/scripts/38182.ips.php on Line 6

    lg

    rob

  5. #5
    Registriert seit
    Feb 2019
    Beiträge
    14

    so klappt es

    <?php
    $pv = GetValue(48295); //Deine Ist Werte
    $wert_positiv = 19890; //ID Positive Werte
    $wert_negativ = 22464; //ID Negative Werte

    if ($pv > 0)
    {
    SetValue($wert_positiv, $pv);
    }
    else
    {
    SetValue($wert_negativ, $pv);
    }



    Jetzt muss ich das script noch ausführen wenn Variable 48295 sich ändert

  6. #6
    Registriert seit
    Mar 2014
    Ort
    Mücke (Hessen)
    Beiträge
    871

    Hi,

    so klappt es
    Sorry mein Fehler. Aber du hast es ja gefunden

    Jetzt muss ich das script noch ausführen wenn Variable 48295 sich ändert
    Genau. Einfach ein Ereignis erstellen.

    Gruß

    PS.

    Hi danke für die rasche antwort.
    Das ist hier Normal
    Geändert von sewo (17.04.19 um 06:18 Uhr)
    IPS v5.1 Unlimited auf Ubuntu Server | IPSView | EnOceanPi | Z-Wave (Razberry) | Sonos | Fritzbox 7390 | 1-Wire | DMX | Dali | Pokeys57E | Siemens Logo 8 | Siemens S7-1200 | Wago SPS | KNX | Onkyo AVR | ModBus | HomeMatic@piVCCU | ESP8266 | MQTT | Ubiquiti | und noch viel mehr geplant

  7. #7
    Registriert seit
    Feb 2019
    Beiträge
    14

    Hallo nochmal,
    funktioniert schon ganz gut. Jetzt kommt aber noch etwas feintuning.
    Habe das Script bei Variablenänderung angetriggert, der Energiezähler zählt.
    Jetzt kommt es aber vor , das die Variable des Netzpunktes ( die pos oder neg sein kann ) von z.b -20W auf +100W springt.
    Dies geschieht wenn die PV Anlage anläuft und die Stromrichtung sich von Bezug auf Lieferung ändert.
    Die im Script angelegte Bezugsvariable behält dann ihren letzten Wert ( zb -20 ). Somit zählt der Energiezähler mit der letzten Leistung weiter obwohl kein Bezug vorhanden ist.
    Es müsste im Script die noch verknüpft werden, dass die nicht aktive Variable mit einer 0 beschrieben wird.
    ( Ich hoffe ihr versteht was ich meine )

    Schätze in etwa so.

    <?php
    $pv = GetValue(48295 /*[Strom\Netz Zählpunkt Lieferung(+) / Bezug(-)\Wert]*/); //Deine Ist Werte
    $wert_positiv = 19890 /*[Strom\TESTWATT VON POSITIV /// LIEFERUNG]*/; //ID Positive Werte
    $wert_negativ = 22464 /*[Strom\TESTWATT VON NEGATIV /// BEZUG]*/; //ID Negative Werte

    if ($pv > 0)
    {
    SetValue($wert_positiv, $pv & wert_negativ=0);
    }
    else
    {
    SetValue($wert_negativ, $pv & wert_positiv=0);
    }
    Leider fehlt mir hier die korrekte Syntax.

    Danke

    rob

  8. #8
    Registriert seit
    Feb 2019
    Beiträge
    14

    so habe ich es nun gelöst
    Das Script gibt zumindest keinen Fehler aus.
    Mal schauen ob es klappt

    PHP-Code:
    <?php
    $pv 
    GetValue(48295 /*[Strom\Netz Zählpunkt Lieferung(+) / Bezug(-)\Wert]*/); //Deine Ist Werte
    $wert_positiv 19890 /*[Strom\TESTWATT VON POSITIV /// LIEFERUNG]*///ID Positive Werte
    $wert_negativ 22464 /*[Strom\TESTWATT VON NEGATIV /// BEZUG]*///ID Negative Werte

    if ($pv 0)
     {
      
    SetValue($wert_positiv$pv);
      
    SetValue($wert_negativ0);
     }
    else
     {
      
    SetValue($wert_negativ$pv);
      
    SetValue($wert_positiv0);
     }

Ähnliche Themen

  1. mit einem Script Stromverbrauch alle Steckdosen berechnen
    Von Fraunhofer im Forum Skripte, PHP, SQL
    Antworten: 3
    Letzter Beitrag: 27.05.14, 18:40
  2. Stromverbrauch erfassen - EKM oder 1Wire?
    Von DerStandart im Forum Haustechnik
    Antworten: 6
    Letzter Beitrag: 07.01.12, 00:07
  3. Stromverbrauch erfassen
    Von mike_h im Forum Haustechnik
    Antworten: 26
    Letzter Beitrag: 17.10.08, 20:12
  4. Wie Stromverbrauch erfassen?
    Von pleibling im Forum Allgemeine Diskussion
    Antworten: 8
    Letzter Beitrag: 18.05.08, 11:32
  5. Betriebsdaten erfassen
    Von macgyver im Forum Haustechnik
    Antworten: 1
    Letzter Beitrag: 07.03.08, 19:25