+ Antworten
Seite 20 von 20 ErsteErste ... 10 18 19 20
Ergebnis 191 bis 199 von 199
  1. #191
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,322

    Standard Elektronische Haushalts Zähler [eHZ] auslesen

    Nur noch ganz kurz.

    Brandneu...für deinen Netzbetreiber vielleicht.

    Im Moment läuft die Zertifizierung der Gateways für SML.


    Erwarte dir von der PIN nicht allzu viel. Kann, muss aber nicht sein.
    Es gab mal Zähler die haben alles ausgegeben....ganz am Anfang...so vor über 8 Jahren.

    Den Rest deiner Frage kann ich dir leider nicht beantworten.
    Von Andreas hab ich schon ewig nix mehr gehört.


    Gesendet von iPad mit Tapatalk
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  2. #192
    Registriert seit
    Jun 2006
    Beiträge
    188

    Hallo Rainer

    so funktioniert soweit, bis auf eine Kleinigkeit (ja ich weiss, eigentlich brauche ich die Daten nicht, würde aber gerne wissen, warum es nicht funktioniert ....

    Die Variable "Seriennummer" ist als String ausgeführt, dennoch wird immer nur "1" in die Variable eingetragen und nicht die eigentlich ausgelesene Seriennummer.
    Ich finde den Fehler irgendwie nicht, denn mit z.B. der Firmware Version klappt es ja auch .....

    Debug Reg Var:
    01/01/2019, 6:23:37 PM | PROCESSED | <CR><LF><CR><LF>1-0:96.1.0*255(001LOG0065076593)<CR><LF>1-0:1.8.0*255(000465.9092*kWh)<CR><LF>1-0:2.8.0*255(000000.0000*kWh)<CR><LF>1-0:0.2.0*255(ver.03,432F,20170504)<CR><LF>1-0:96.90.2*255(0F66)<CR><LF>1-0:97.97.0*255(00000000)<CR><LF>


    ich würde den String 001LOG0065076593 in der Variable erwarten.

    Script:
    PHP-Code:
    <?

    $eHZdata 
    = array("1-0:96.1.0*255"    => 53432,
                     
    "1-0:1.8.0*255"    => 22469,
                     
    "1-0:2.8.0*255"  => 15138,
                     
    "1-0:0.2.0*255"   => 55537,
                     
    "1-0:96.90.2*255" => 35134
                     
    "1-0:97.97.0*255" => 18052
                     
    );



    $Netzperiodendauer 0// VariablenID der Obis Kennzahl der Netzperiodendauer
    $var1 53432// VariablenID der Obis Kennzahl der Daten welche nicht umgerechnet werden
    $var2 55537// VariablenID der Obis Kennzahl der Daten welche nicht umgerechnet werden
    $var3 35134// VariablenID der Obis Kennzahl der Daten welche nicht umgerechnet werden
    $var4 18052// VariablenID der Obis Kennzahl der Daten welche nicht umgerechnet werden

    //Dateneingang von Registervariable
    //$string = explode("\n", trim(RegVar_GetBuffer(51475)));
    $string explode("\n"trim($_IPS['VALUE']));
    for(
    $i 0$i count($string); $i++)
    {
        
    $id strstr($string[$i], "("true); // split nach Obis Kennzahl
        
    $value strstr($string[$i], "("); // split nach Daten
        
    $check strpos($value"*"); // suche nach Daten mit Angaben *V-A-W
        
    if($check !== false// Daten mit V-A-W ausgeben und formatieren auf 2 Stellen nach dem Komma
        
    {
           
    $value strstr($value"*"true); // split nach *V-A-W
            
    $data substr($value1);
            
    SetValue($eHZdata[$id], number_format((float)$data3','''));
        }
        else 
    // alle anderen Daten ausgeben
        
    {
            
    $data substr(trim($value), 1, -1);
            if(
    strlen($data) <= 4// Daten mit bis zu 2 Byte
            
    {
               if(
    $eHZdata[$id] == $Netzperiodendauer)
                {
                   
    $data hexdec($data)/100// Daten umrechnen 1/100 in ms
                
    }
                elseif((
    $eHZdata[$id] == $var1) || ($eHZdata[$id] == $var2) || ($eHZdata[$id] == $var3) || ($eHZdata[$id] == $var4))
                {
                   
    $data $data// Daten ohne Umrechnung
                
    }
                else
                {
                   
    $data hexdec($data); // Daten von Hex nach Dec umrechnen
                
    }
              }
             
    //echo $data."\n";
            
    if(preg_match('/[A-F]/'$data))
            {
               
    SetValue($eHZdata[$id], (string)$data);
            }
            else
            {
                
    SetValue($eHZdata[$id], (float)$data);
            }
        }
    }
    ?>

  3. #193
    Registriert seit
    Jan 2009
    Ort
    Bremen
    Beiträge
    174

    Question Umzug auf Pi, com port macht Probleme

    Hallo zusammen,

    habe das Script aus Beitrag 1 schon seit Jahren erfolgreich an meinem Windows PC mit RS232 Schnittstelle am Laufen.
    Nun wollte ich damit auf meinen Pi umziehen.
    Hab daher alle notwendigen Einstellungen am Pi vorgenommen!
    Variablen angelegt, Serial port erstellt, Register Variable,Script und cutter angelegt.
    So weit so gut. Den SERIAL to USB Konverter hab ich natürlich vorher auch bei Windows getestet.
    Den Lesepkopf vom Easymeter hab ich dann mit dem Adapter am Pi angeschlossen und mit
    HTML-Code:
     ls -l /dev/serial/by-id
    den passenden USB Port rausgesucht und im Serial Port angelegt.
    Mit
    HTML-Code:
    pi@raspberrypi3:~ $ cat /dev/ttyUSB1
    /ESY5Q3DA1004 V3.02
    
    1-0:0.0.0*255(0926008378)
    1-0:1.8.0*255(00039821.4818161*kWh)
    1-0:21.7.255*255(000738.72*W)
    1-0:41.7.255*255(000365.39*W)
    1-0:61.7.255*255(000116.94*W)
    1-0:1.7.255*255(001221.05*W)
    1-0:96.5.5*255(82)
    0-0:96.1.255*255(1ESY0941001678)
    !
    hab ich kontrolliert das Daten ankommen.

    Nun kommen die Daten aber immer nur mit einer Länge von 1 oder 2 Zeichen im Serial port an. Das ist anders als beim Windows PC. Wundert mich da die Daten bei der Kontrolle oben mit dem Befehl
    HTML-Code:
    cat /dev/ttyUSB1
    ja sauber lesbar angezeigt werden.
    Demnach läuft das Script natürlich immer in eine Fehlermeldung da das array anscheinend nicht gefüllt wird.

    Für Hilfestellung bei der Einstellung des Serial Ports wäre ich dankbar.
    IPS 4.4 auf Atom D510
    1 x FHZ1300, 6 x FHT80B, 8 x FHT8V, 1 x Velleman USB K8055,WDE-1 mit 6x S555TH, 1-Wire, div HM und natürlich

  4. #194
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,322

    Was kommt denn im Debug der Regvar an.

    Sofern der Cutter richtig eingestellt ist, gibt er ja nur den kompletten Datensatz raus.

    Mit den Einstellungen am Pi kann ich dir nicht helfen.


    Gesendet von iPad mit Tapatalk
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  5. #195
    Registriert seit
    Jan 2009
    Ort
    Bremen
    Beiträge
    174

    Moin Rainer,

    anbei einmal das Debug der RegisterVariablen.

    Die angelegten Variablen werden nicht gefüllt.

    PHP-Code:
    <?
    $eHZdata 
    = array("1-0:0.0.0*255"    => 27121 /*[Test\Strom\Zählernummer]*///Zählernummer
                     
    "1-0:1.8.0*255"    => 25396 /*[Test\Strom\Zählerstand]*///Zählerstand
                     
    "1-0:1.7.255*255"  => 15309 /*[Test\Strom\Wirkleistung Summe]*///Wirkleistung Summe
                     
    "1-0:96.5.5*255"   => 48644 /*[Test\Strom\Zählernummer\test1]*///test1
                     
    "0-0:96.1.255*255" => 20099 /*[Test\Strom\Zählernummer\test2]*///test2
                     
    "1-0:21.7.255*255" => 24706 /*[Test\Strom\Wirkleistung L1]*/// Wirkleistung L1
                     
    "1-0:41.7.255*255" => 18914 /*[Test\Strom\Wirkleistung L2]*/// Wirkleistung L2
                     
    "1-0:61.7.255*255" => 32214 /*[Test\Strom\Wirkleistung L3]*/  // Wirkleistung L3
                     
    );

    $Netzperiodendauer 56041 /*[Test\Strom\Netzperiodendauer]*/// VariablenID der Obis Kennzahl der Netzperiodendauer
    $var1 56041 /*[Test\Strom\Netzperiodendauer]*/// VariablenID der Obis Kennzahl der Daten welche nicht umgerechnet werden
    $var2 56041 /*[Test\Strom\Netzperiodendauer]*/// VariablenID der Obis Kennzahl der Daten welche nicht umgerechnet werden
    $var3 56041 /*[Test\Strom\Netzperiodendauer]*/// VariablenID der Obis Kennzahl der Daten welche nicht umgerechnet werden

    //Dateneingang von Registervariable
    //$string = explode("\n", trim(RegVar_GetBuffer(14099)));
    $string explode("\n"trim($IPS_VALUE));
    for(
    $i 0$i count($string); $i++)
    {
        
    $id strstr($string[$i], "("true); // split nach Obis Kennzahl
        
    $value strstr($string[$i], "("); // split nach Daten
        
    $check strpos($value"*"); // suche nach Daten mit Angaben V-A-W
        
    if($check !== false// Daten mit V-A-W ausgeben und formatieren auf 2 Stellen nach dem Komma
        
    {
           
    $value strstr($value"*"true); // split nach *V-A-W
            
    $data substr($value1);
            
    SetValue($eHZdata[$id], number_format((float)$data2','''));
        }
        else 
    // alle anderen Daten ausgeben
        
    {
            
    $data substr(trim($value), 1, -1);
            if(
    strlen($data) <= 4// Daten mit bis zu 2 Byte
            
    {
               if(
    $eHZdata[$id] == $Netzperiodendauer)
                {
                   
    $data hexdec($data)/100// Daten umrechnen 1/100 in ms
                
    }
                elseif((
    $eHZdata[$id] == $var1) || ($eHZdata[$id] == $var2) || ($eHZdata[$id] == $var3))
                {
                   
    $data $data// Daten ohne Umrechnung
                
    }
                else
                {
                   
    $data hexdec($data); // Daten von Hex nach Dec umrechnen
                
    }
            }
            
    SetValue($eHZdata[$id], (float)$data);
        }
    }
    ?>
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Stromzähler.PNG 
Hits:	28 
Größe:	22.3 KB 
ID:	47155
    Angehängte Dateien Angehängte Dateien
    IPS 4.4 auf Atom D510
    1 x FHZ1300, 6 x FHT80B, 8 x FHT8V, 1 x Velleman USB K8055,WDE-1 mit 6x S555TH, 1-Wire, div HM und natürlich

  6. #196
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,322

    Standard Elektronische Haushalts Zähler [eHZ] auslesen

    Was hast Du den für eine IPS Version laufen?

    IPS Value ist nicht mehr uptodate.

    PHP-Code:
    $string explode("\n"trim($_IPS['VALUE'])); 

    Gesendet von iPad mit Tapatalk
    Geändert von RWN (05.01.19 um 13:32 Uhr)
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  7. #197
    Registriert seit
    Jan 2009
    Ort
    Bremen
    Beiträge
    174

    Moin Rainer,

    auf dem Windows Rechner wo alles funktioniert läuft noch eine 4.4 da ich dort noch mit 32bit unterwegs bin.
    Auf dem Raspberry läuft IP-Symcon 5.0, Raspberry Pi, 19.06.2018, 4db47b93210d
    Oh Mann, das war der entscheidenen Hinweiß:
    die entsprechende Zeile im Script von

    PHP-Code:
    $string explode("\n"trim($IPS_VALUE)); 
    in
    PHP-Code:
    $string explode("\n"trim($_IPS['VALUE'])); 
    geändert und schon werden die Daten aktuallisiert.


    Da hab ich jetzt zwei Tage lang am falschen Ende (SerialPort) gesucht und dann findest Du das Problem in so kurzer Zeit.

    Super und DANKE.
    IPS 4.4 auf Atom D510
    1 x FHZ1300, 6 x FHT80B, 8 x FHT8V, 1 x Velleman USB K8055,WDE-1 mit 6x S555TH, 1-Wire, div HM und natürlich

  8. #198
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,322

    Das steht mit Sicherheit aber auch im Fehlerlog.


    Gesendet von iPad mit Tapatalk
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  9. #199
    Registriert seit
    Jan 2009
    Ort
    Bremen
    Beiträge
    174

    Ja da steht das, aber das hab ich immer auf eine der Variablen bezogen.
    Bin halt kein Programmierer

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Fehlermeldung_Stromzähler.PNG 
Hits:	31 
Größe:	61.6 KB 
ID:	47162

    Danke nochmal recht herzlich für Deine Hilfe!
    IPS 4.4 auf Atom D510
    1 x FHZ1300, 6 x FHT80B, 8 x FHT8V, 1 x Velleman USB K8055,WDE-1 mit 6x S555TH, 1-Wire, div HM und natürlich