[Modul] IPS_Gasimpulserechner

Moin,

basierend auf einer Diskussion, die ich hatte, habe ich mich mal hingesetzt und mein erstes Modul ins Leben gerufen.

Das Modul dient der Berechnung des Gasverbrauchs mittels eines Impulse-Zählers. Grundlage war mein eigener Bedarf, einen elster BK-G2,5 Gaszähler in Symcon zu integrieren, ohne mir den originalen Impulse-Zähler zulegen zu müssen.
Somit habe ich einen eigenen Impulse-Zähler mittels eines Reed-Kontakts gebaut und dieses Modul zur Verwertung des Impulse geschrieben.

Was kann das Modul:

Aufnahme des Impulse und Weiterverarbeitung, basienrend auf den Angaben aus dem Konfigurations-Formular zu:

  • Aktueller Zählerstand
  • täglicher Grundpreis (Basiskosten)
  • Verbleibende Tage bis zur nächsten Abrechnung
  • Kosten, Verbrauch in kW/h und m3 des gestrigen Tages
  • Kosten, Verbrauch in kW/h und m3 des aktuellen Tages
  • Kosten seit letzter Abrechnung (inklusive des täglichen Grundpreises)
  • kW/h & m3 seit letzter Abrechnung
  • Zu erwartender Verbrauch und Kosten aktuell (Schätzwert, der sich Tag-Aktuell aus dem bisherigen Verbrauch errechnet)

Besonderheiten:

Der Grundpreis pro Tag wird berechnet abhängig der Zahlungsfrequenz (Zahlungszeitraum) und der zu leistenden Abschlagszahlungen (11 oder 12 Monate)

Der aktuelle Abrechnungszeitraum startet bei dem anzugebenden Ablesedatum zur letzten Abrechnung.

Neben dem Grundpreis können folgende Angaben gemacht werden:

  • Impulswert
  • Zahlungszeitraum
  • Anzahl der Abschlagsmonate
  • Zählerstand bei letzter Abrechnung
  • Datum der Abschlussablesung zur Rechnungsstellung
  • Zählerstand aktuell bei Modulinstallation
  • Preis pro kW/h

Im Repo findet sich noch eine *.stl datei um sich einen Impulse-Sensor für die elster-Zähler aus einem Reedkontakt (z.B. Zigbee Fenster Kontakt) zu bauen:
IPS-GasImpulseRechner/.SensorCase at main · Burki24/IPS-GasImpulseRechner · GitHub

  1. Voraussetzungen
  • mindestens IP-Symcon 6.0
  1. Enthaltene Module
  • Gas Impuls Verbrauchsanalyse
  1. Installation
    Über das folgende Repo:
    Burki24/IPS-GasImpulseRechner: Modul zur Anbindung eines Impulszählers z.B. Typ elster BK-Gx (github.com)

  2. Dokumentation & Screenshots

Die Dokumentation findet sich im Repository

Konfiguratiosformular:

Angelegtes Modul:

Ansicht im Frontend:

Mein großer Dank gilt @KaiS , @Nall-chan , @pitti , die nie Müde wurden, mir meine Anfänger-Fragen so zu beantworten, dass auch ich als php-Frischling dieses Modul fertigstellen konnte. Und an @tissenm für das kontinuierliche und andauernde Testen.

Anregungen, Fragen, Änderungswünsche und natürlich gefundene Fehler als auch allgemeines Feedback gerne an mich.

Dieses Modul ist für die PRIVATE Nutzung kostenlos.

Changelog:

23.04.2023: Komplette Überarbeitung

Achtung: Das Update ist nicht kompatibel zu vorgänger-Versionen. Die Instanz muss einmal gelöscht werden und neu angelegt werden mit den Variablen. Wer die alte Version weiter nutzen möchte, kann auf den branch „old_main“ gehen. Dieser wird allerdings nicht mehr weiter entwickelt.

  • Eingabeformular optimiert

    • Neue Faktoren zur Berechnung des Forecast

      • kW/h auf letzter Abrechnung (Gesamtverbrauch)

      • Z-Zahl. Die Zustandszahl findet sich ebenfalls auf der Abrechnung und wird zur Umrechnung m3 zu kW/h benötigt

      • Monatsgewichtung. Ermöglicht den Forecast besser am realen Verbrauch zu errechnen. Dabei kann jedem Monat ein Faktor zugewiesen werden, wieviel Einfluss er auf den Forecast nimm (0.0 - 1.0) Somit kann der Forecast unter Einbezug der Jahreszeiten und der benötigten Heizmenge berechnet werden.

  • Neue Variablen

    • Variablen für die aktuelle Situation:

      • Kosten seit letzter Abrechnung
      • kW/h seit letzter Abrechnung
      • m3 seit letzter Abrechnung
      • Vergangene Tage seit letzter Abrechnung
      • Zählerstand
      • Zählerstand bei letzter Abrechnung
    • Forecastbererchnung

      • Gesamt zu zahlende Abschlagssumme (Abhängig von Abschlagsmonate)
      • Tage bis zur nächsten Abrechnung
      • Zu erwartende Differenz errechneter Verbrauch zu Abschlag in Euro
      • Zu erwartende Gesamtkosten
      • Zu erwartender Verbrauch (Abhängig von der Monatsgewichtung)
  • Sonstige Werte

    • Gestriger Verbrauch in kW/h und m3
    • Gestrige Kosten
    • Heutiger Verbrauch in kW/h und m3
    • Heutige Kosten
    • Errechnete Basiskosten täglich

02.04.2023: Ergänzung Abschlagshöhe monatlich

  • Errechnet die höhe der Abschlagszahlung im laufenden Versorgungszeitraum (abhängig von den eingetragenen Zahlungsmonaten (entweder 11 oder 12 Zahlungen)
  • Errechnet die Differenz der zu erwartenden Kosten zur Abschlagsjahreszahlung

Viele Grüße
Burkhard

2 „Gefällt mir“

Guten Morgen Burkhard,

Glückwunsch…. Würde es gerne ausprobieren.

Kurze Frage aber:
was braucht es genau als Input. Ich habe den gleichen Zähler und bekomme die Impulse ebenfalls über Reed ins System. Allerdings mit einem Enocean „Taster“. Mit einem Script zähle ich dann hoch. Kann ich Implusgeber auch als Eingang nutzen oder braucht man „dein“ Gaskästchen, sprich Impuls zu USB Wandler.

Gruß Michael

Moin Michael,

Du brauchst eine Bool-Variable die true/false liefert:

Gruß
Burkhard

1 „Gefällt mir“

Neue Version online.

Ab sofort steht eine neue Version des Moduls bereit. Änderungen finden sich im Changelog in Post 1.

Diese Version ist NICHT mehr kompatibel zu Vorgänger-Versionen und Bedarf einer neuen Installation der Instanz.

Gruß
Burkhard

Hallo Burkhard,
ich habe heute dein Modul installiert und funktioniert auch, dabei ist mir aufgefallen, dass du den Verbrauch in kW/h angegeben hast, es muss aber kWh heißen. Denn zum beispiel 1m³ entspricht ~ 10 kWh ( kWh = Kubikmeter x Brennwert x Zustandszahl).
Gruß Lutz

@Senior

DANKE für den Hinweis, Update ist raus. Bitte vorh dem Update das Float-Profile GCM.Gas.kWh löschen.

Gruß
Burkhard

Hallo Burkhard,
ich habe einen weiteren kleinen Fehler entdeckt. Wenn der Impulsgeber (Bool-Variable) zufälligerweise auf auf true stehen bleibt und kein Gasverbrauch vorliegt, wird in deinem Modul der Gasverbrauch weiter hochgezählt. Ich habe mir erstmal damit geholfen, dass ich in der LOGO! das Eingangssignal in ein Impulssignal mit 100ms umgewandelt habe. In deinem Modul sollte am besten auch eine Flankenauswertung erfolgen. In der LOGO! sieht das so aus:

Gruß Lutz