+ Antworten
Ergebnis 1 bis 1 von 1
  1. #1
    Registriert seit
    Jun 2016
    Beiträge
    193

    Standard [Anleitung] Pipersberg G4 RF1 c Gaszähler an ip-Symcon

    Dieses Thema wird viel im Internet diskutiert und es gibt sicherlich viele Lösungen, ich möchte an dieser Stelle meine präsentieren.
    Das Problem mit dem G4 RF1 c ist, dass dieser nicht per Reed Kontakt ausgelesen werden kann, sondern hier sich nur ein Metallplättchen dreht und man diesen per Induktiven Näherungsschalter auslesen muss.
    Im Datenblatt des Herstellers ist das ganz gut beschrieben https://www.pipersberg.de/wp-content...n-RF1-G4G6.pdf
    Das Originalteil des Herstellers kostet um die 80€.
    Günstiger ist es mit meiner Lösung und dem LJ12A3-4-Z/BX (ca. 4€)

    Meine Schaltung ist wie folgt aufgebaut (es ist mein erster fritzing Versuch und genau den Sensor gab es nicht, daher ein anderer) . Eigentlich recht simpel.
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	gaszaehler_Steckplatine.jpg 
Hits:	62 
Größe:	134.8 KB 
ID:	48316

    Das größte Problem ist, den Sensor so an den Gaszähler "dran zu halten", dass dieser den Impuls auch mitbekommt. Dies erfordert sehr viel Fummelarbeit, Messarbeit und Nachjustage.
    Meine Lösung ist aus wunderschönem Weißbuchenholz
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	4D92A8E0-CC2B-4ECE-ACE2-DDEA459FABFA.jpg 
Hits:	62 
Größe:	104.3 KB 
ID:	48317

    Ich Nutze für die Übertragung rpi--> Symcon die JSON Schnittstelle.
    Auf dem RPI läuft folgendes Python Script:
    PHP-Code:
    from gpiozero import Button
    import datetime
    import time
    from time import sleep
    import requests
    json
    from requests
    .auth import HTTPBasicAuth
    from signal import pause
    import urllib2



    from time import sleep

    def IpsRpc
    (methodIpsparamIps):
        
    url "http://[IPSYMCONIP]:3777/api/"
        
    auth=HTTPBasicAuth('USERNAME''PASSWORD')   #beideses im Klartext
        
    headers = {'content-type''application/json'}

        
    payload = {
            
    "method"methodIps,
            
    "params"paramIps,
            
    "jsonrpc""2.0",
            
    "id""0",
        }

        
    response requests.post(urlauth=authdata=json.dumps(payload), headers=headers).json



    button 
    Button(4)

    while 
    True:
            
    button.wait_for_press()
            
    datetime.datetime.now().strftime("%a, %d %B %Y %H:%M:%S")
            print(
    datetime.datetime.now())
            print(
    "UND wieder ein m3 mehr Gas verbraucht - Script ausfuehren")
            
    IpsRpc("IPS_RunScript", [30670])
            
    button.wait_for_release() #sehr wichtig, da sonst das Script dauerhaft ausgeführt wird, wenn der Gaszähler mal wieder auf dem Impuls stehen bleibt 

    Auf dem IPS wird folgendes Script ausgeführt welches dann die Variable jeweils um 0,01 hochzählt (der Impulswert steht auf dem Gaszähler drauf)

    PHP-Code:
    <?

    $derzeitigerwert 
    GetValue(55140);
    #echo "Gaszählerwert: ".$derzeitigerwert;
    $neuerwert SetValue(55140$derzeitigerwert+0.01);


    ?>
    Ich habe dann noch ein weiteres Script laufen, welches mit den Wert des Gaszählers welcher in Kubikmeter angegeben wird in Kilowattstunden umrechnen usw. Die Energieversorger rechnen nämlich in KWH Stunden ab. Der Umrechenwert ist beim lokalen Versorger zu Erfragen bei mir 1 zu 9,5

    PHP-Code:
    <?
    #Wert vom Gaszähler in m³ umrechnen in Kilowattstunden (laut Stadtwerke Brennwert von 9,5)
    $gaskbm GetValue(55140); 
    #echo $gaskbm;
    $gaskwh $gaskbm 9.5;
    #echo $gaskwh;
    SetValue(19508$gaskwh);
    #echo GetValue(19508);

    ########################################
    #Ab hier: setzen des Zählerstandes. Ausgangswert war 9076.96
    ########################################
    $gaszaehleralt 9078.96;
    $gaszaehlerneu $gaszaehleralt $gaskbm GetValue(55140);
    SetValue(34319$gaszaehlerneu);



    #########################################
    #verbrauch gestern
    #########################################

    $gesternverbrauch AC_GetAggregatedValues(2189055140/* Stündlich */strtotime("yesterday 00:00"), strtotime("today 00:00")-10); 


    foreach(
    $gesternverbrauch as $wert) {

    $summe=$summe+$wert['Avg'];
    }

    SetValue(14106,$summe);

    #########################################
    #kbm Verbrauch von gestern in kwh umrechnen und in Variable schreiben
    #########################################
    $gaskbm_gestern GetValue(14106); 
    #echo $gaskbm;
    $gaskwh_gestern $gaskbm_gestern 9.5;
    #echo $gaskwh;
    SetValue(50232$gaskwh_gestern);
    ?>
    Ich hoffe, dass ich hiermit jemandem weiterhelfen kann oder jemand hierdurch Anregungen für ein neues Projekt bekommt!

    Gruß
    Suner
    Geändert von Suner (28.03.19 um 08:57 Uhr)

Ähnliche Themen

  1. Anleitung: IP-Symcon auf Odroid-HC1
    Von Silberstreifen im Forum Alles rund um den PC
    Antworten: 4
    Letzter Beitrag: 06.01.19, 10:41
  2. Anleitung: IP-Symcon 4.4 auf Odroid C2
    Von Silberstreifen im Forum Allgemeine Diskussion
    Antworten: 4
    Letzter Beitrag: 23.12.17, 06:35
  3. Symcon 4.0 - 0xc000007b Fehler Anleitung fix
    Von Thiemo im Forum Allgemeine Diskussion
    Antworten: 0
    Letzter Beitrag: 02.03.16, 21:00
  4. Gaszähler G4 rf1c von Pipersberg
    Von TomW im Forum Haustechnik
    Antworten: 0
    Letzter Beitrag: 04.12.14, 18:56
  5. Anleitung IP-Symcon Android Sprachsteuerung
    Von Thiemo im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 12
    Letzter Beitrag: 12.06.14, 10:36