+ Antworten
Seite 1 von 5 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 45
  1. #1
    Registriert seit
    Apr 2007
    Ort
    Kaufbeuren/Allgäu
    Beiträge
    1,132

    Standard 1-Wire S0 Zähler Auswerteskript

    Hallo 1-Wire Fan´s

    nachdem ich bei mir einige digitale Stromzähler mit S0 Ausgang für verschiedene Verbraucher eingebaut habe, wollte ich nicht für jeden Stromzähler und S0 Zähler das Skript und alle Variablen neu anlegen und hab ein automatisches Skript zur Auswertung und Anlegen der Variablen geschrieben. Vielleicht hilft das dem ein oder anderen weiter.
    Getestet unter IPS V2.4 und 2.5

    Funktion:
    Das Skript installiert beim ersten Auslösen Variablen für
    - Tagesverbrauch
    - Max. Tageswert + Zeit des max. Werts
    - Monatsverbrauch
    - Jahresverbrauch
    - Statusausgabe für "Anlage Aktiv" z.b. für eine PV-Anlage oder Waschmaschine
    - Status für "Jahresgrenzwert erreicht?" z.b. für eine PV-Anlage oder einen Verbrauchswert

    Zusätzlich werden folgende Skripte erstellt:
    - Reset Tageswert, Übertrag auf Variable "Vortag"
    - Reset Monatswert, Übertrag auf Variable "Vormonat"
    - Reset Jahreswert, Übertrag auf Variable "Vorjahr"

    Für die Ansteuerung eines 1-Wire LCD Displays habe ich zusätzlich die Ausgaben in String Variablen eingefügt.

    Die eingegeben Namen für die 1-Wire S0 Instance sind auszutauschen.

    Danke an DerStandart für die Überprüfung des Skripts, hier die aktualisierte Version.


    Grüße
    Andrge

    Sollte ich einen Fehler im Skript übersehen haben bitte um Rückmeldung.
    Angehängte Dateien Angehängte Dateien
    Geändert von andrge (17.04.12 um 20:25 Uhr)
    Hardware: Hersteller von 1-Wire Geräten für Sensoren, Aktoren, prof. Gateway´s und Steuerung für Smart Home, Gebäudeautomation und Industrie
    Software: IPS, Dashboard, MySQL

  2. #2
    Registriert seit
    Nov 2009
    Ort
    Essen
    Beiträge
    2,586

    Hallo Andrge,

    vielen Dank für das Script! Nach so etwas habe ich lange gesucht!

    Mir sind ein paar Fehler aufgefallen:

    Zeile 482:
    PHP-Code:
    $id_vormonat_leistung_string     CreateVariableByName($parentID"Vormat_1""S" ); 
    muss "Vormonat" heißen.

    Ab Zeile 217, wo das Monats-Script erzeugt wird:
    PHP-Code:
        //Übertrag String und Float
        
    \$uebertrag GetValue ($id_monat_leistung  );                                          //Monatesleistung abholen
        
    SetValue ($id_vormonat_leistung  $uebertrag);
        \
    $uebertrag_1 GetValue ($id_monat_leistung_string  );                                          //Monatesleistung abholen
        
    SetValue ($id_vormonat_leistung_string  $uebertrag_1);
        
    IPS_Sleep(20);

        
    //Reset Tagwerte
        
    SetValueInteger($id_monat_counter  0);                                                 //Monatesleistung auf 0 setzen
        
    SetValueString ($id_monat_leistung_string  '0 KWh');
        
    SetValueFloat  ($id_monat_leistung  0);

        
    //Boolean fuer Rueckmeldung eines Tastersymbols
        
    SetValueBoolean($reset_monat true);
        
    IPS_Sleep(1000);
        
    SetValueBoolean($reset_monat false); 
    dort fehlenden die \ - somit sieht das Monatsscript dann so aus:
    PHP-Code:
        //Übertrag String und Float
        
    $uebertrag GetValue (  );                                          //Monatesleistung abholen
        
    SetValue (  , );
        
    $uebertrag_1 GetValue (  );                                          //Monatesleistung abholen
        
    SetValue (  , );
        
    IPS_Sleep(20);

        
    //Reset Tagwerte
        
    SetValueInteger(  , 0);                                                 //Monatesleistung auf 0 setzen
        
    SetValueString (  , '0 KWh');
        
    SetValueFloat  (  , 0);

        
    //Boolean fuer Rueckmeldung eines Tastersymbols
        
    SetValueBoolean( , true);
        
    IPS_Sleep(1000);
        
    SetValueBoolean( , false); 
    Ab Zeile 217 - 223 also ändern in:
    PHP-Code:
        //Übertrag String und Float
        
    \$uebertrag GetValue (\$id_monat_leistung  );                                          //Monatesleistung abholen
        
    SetValue (\$id_vormonat_leistung  , \$uebertrag);
        \
    $uebertrag_1 GetValue (\$id_monat_leistung_string  );                                          //Monatesleistung abholen
        
    SetValue (\$id_vormonat_leistung_string  , \$uebertrag_1);
        
    IPS_Sleep(20);

        
    //Reset Tagwerte
        
    SetValueInteger(\$id_monat_counter  0);                                                 //Monatesleistung auf 0 setzen
        
    SetValueString (\$id_monat_leistung_string  '0 KWh');
        
    SetValueFloat  (\$id_monat_leistung  0);

        
    //Boolean fuer Rueckmeldung eines Tastersymbols
        
    SetValueBoolean(\$reset_monat true);
        
    IPS_Sleep(1000);
        
    SetValueBoolean(\$reset_monat false); 
    Und ab 256 das gleiche noch mal für das Jahres-Script.

    Wenn ich das alles entsprechend ändere, funktioniert es!

    Hab noch mal 1000 Dank für das Script!

    Danke und Gruß,
    Christoph
    Deutschlandweite Dienstleistungen rund um und mit IP-Symcon. Systemintegrator im Bereich KNX. ekey Partner. Infos unter https://schrader-it.net

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

    Hallo ihr beide

    herzliches Danke auch von mir.
    Das Scirpt kahm gerade recht, wollte nämlich eben mein eigenes Zählerscript auf Jahres und Monatsabrechnung aufbohren.
    Andre hat mir die Arebit abgenommen.

    hab die Fehlerkorrigierte Variante angehängt.

    thx
    bb
    Angehängte Dateien Angehängte Dateien

  4. #4
    Registriert seit
    Apr 2007
    Ort
    Kaufbeuren/Allgäu
    Beiträge
    1,132

    Danke! Asche auf mein Haupt, hab versehentlich nicht die letzte Version kopiert.

    Viel Spaß mit dem Skript

    Andrge
    Hardware: Hersteller von 1-Wire Geräten für Sensoren, Aktoren, prof. Gateway´s und Steuerung für Smart Home, Gebäudeautomation und Industrie
    Software: IPS, Dashboard, MySQL

  5. #5
    Registriert seit
    Dec 2006
    Ort
    Oberkrämer bei Berlin
    Beiträge
    1,607

    Was macht den das \ vor dem $uebertrag ?
    Sowas findet man immer schlecht im PHP Manual
    MfG: Heiner_________________IPS5.5, NUC-i5 Lüfterlos, SSD, Win10Home, 24/7; IPS-Mobile Android V5.5.1; FHZ1300PC: FS20, HMS100, KS300, PS50, FHT; WDE1; Harmony1100 + Wandlung einzelner FHT80TF in FS20 Adressen mit FS20Manager; 3x ChromoflexII + 14x IIIRC; DMX4ALL, ArtNet (Dimmer6); IPS-868: EKM, RGBW, WDT, JKM/Termojet; 1Wire über blauem DS9490R; HomeMatic: CCU3, LAN_Adapter, Hm + HmIP, Winmatic; XBee Pro: Roomba;

  6. #6
    Registriert seit
    Nov 2009
    Ort
    Essen
    Beiträge
    2,586

    Das Script erzeugt hier in diesem Fall ja die Scripte für Monat, Tag und Jahr. Damit das erzeugende Script die $ nicht selbst behandelt, sondern sie so wie sie sind in die zu erzeugenden Scripte steckt, werden die $ mit dem \ maskiert. Evtl. mal nach "php maskieren" mit einer Suchmaschine Deiner Wahl suchen.

    Gruß,
    Christoph
    Deutschlandweite Dienstleistungen rund um und mit IP-Symcon. Systemintegrator im Bereich KNX. ekey Partner. Infos unter https://schrader-it.net

  7. #7
    Registriert seit
    Feb 2010
    Beiträge
    33

    Hallo Leute

    Dank dem Skript das Andreas uns da für zur Verfügung gestellt hat, habe ich nun endlich einen Überblick über meine kleine PV Anlage.



    Danke noch mal Andreas für die Mühe.


    Gruss Michael


    orbitalo
    Geändert von RWN (19.04.12 um 18:30 Uhr) Grund: Link zur Sicherheit entfernt!

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

    Servus orbitalo

    Den link zu deinem Live-System würd ich rausnehmen. Böse Zeitgenossen könnten da ggfls. etwas Unfug treiben...

    gruß
    bb

  9. #9
    Registriert seit
    Mar 2011
    Beiträge
    256

    Hi,
    erstmal danke für das super Script, hat mir ein Menge Arbeit erspart.

    Ich habe noch eine kleine Ergänzung beizusteuern.
    Mir fehlte noch der aktuelle Zählerstand (mit eingerechnetem Anfangsstand).
    Ich habe einfach folgendes ergänzt:

    Bei der Variablendeklaration:

    Code:
    	//******************************************************************************
    	//Anfangsstand des Zählers
    	//******************************************************************************
    	//sollte der Zähler bereits einen Anfangsstand gehabt haben kann dieser hier eingetragen werden
    	$anfangsstand =  10000		; // Anfangsstand in kwH
    und das später im Code (nachdem die Variablen angelegt wurden, ich habe das vor der Berechnung: Aktuelle Leistung / aktueller Verbrauch gemacht)

    Code:
    //*******************************************************************
    // aktueller Stand des Zähler
    
    $id_zaehlerstand 	= CreateVariableByName($parentID, "Zählerstand", "kWh" );
    SetValueFloat ($id_zaehlerstand 	,	($anfangsstand + $counter_neu * $zaehlerfaktor));
    Gruß
    spooniester
    IP-Symcon Unlimited auf Tinkerboard, Homematic, ESP8266, Deconz...... und noch tausende weitere Ideen....nur nie Zeit

  10. #10
    Registriert seit
    Apr 2007
    Ort
    Kaufbeuren/Allgäu
    Beiträge
    1,132

    Hallo spooniester

    klasse und danke für die Blumen. Stell doch dein gesamtes Skript ein.

    Ciao
    andrge
    Hardware: Hersteller von 1-Wire Geräten für Sensoren, Aktoren, prof. Gateway´s und Steuerung für Smart Home, Gebäudeautomation und Industrie
    Software: IPS, Dashboard, MySQL

Ähnliche Themen

  1. S0plus Zähler mit Expert Net Control Reader auswerten
    Von RWN im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 7
    Letzter Beitrag: 25.04.14, 22:34
  2. Antworten: 4
    Letzter Beitrag: 10.02.12, 12:32
  3. Zähler visualisieren: Skalierung falsch
    Von sbuhre im Forum IP-Symcon WIIPS
    Antworten: 29
    Letzter Beitrag: 22.02.09, 13:02
  4. Zähler im WIIPS wie?
    Von Rubberduck im Forum IP-Symcon WIIPS
    Antworten: 8
    Letzter Beitrag: 04.09.08, 12:34
  5. Anfaengerfrage 1 wire
    Von StephanBonn im Forum 1-Wire, M-BUS
    Antworten: 13
    Letzter Beitrag: 03.10.07, 19:17