ioBroker Tutorial-Reihe - Gaszähler per Reed-Kontakt integrieren

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliate-Links.

Suchergebnisse

ioBroker Tutorial-Reihe - Gaszähler per Reed-Kontakt integrieren
ioBroker Tutorial-Reihe - Gaszähler per Reed-Kontakt integrieren
  • 28.02.2021
  • Level 1
  • Grundlagen
  • Blockly
  • Verbrauchsmessung

Zählerstände erfassen ist eine der Haupt-Aufgaben im Smarthome. In diesem Video möchte ich Dir daher eine Möglichkeit zeigen, wie man den Gaszähler mit Zählerschnittstelle in den ioBroker integrieren könnte. Dafür brauchen wir nichts weiter, als die GPIO-Pins vom Raspberry Pi. Denn am Ende ist der Reed-Kontakt ja nichts anderes, als ein Taster, welcher bei jedem Zähl-Impuls kurz geschlossen wird. Wie man diese Impulse mit Blockly zählen kann und wie man den Wert dann in kWh umrechnen könnte, erfährst Du in diesem Video!

Video

ioBroker-Kurs

Schaltung

ioBroker Gaszähler Reed-Kontakt

»ioBroker Gaszähler Reed-Kontakt«

Blockly-Script

In diesem Beispiel wurde der Reed-Kontakt an GPIO 22 angeschlossen, welcher im RPI2-Adapter als Eingang konfiguriert wurde (siehe Video).

<xml xmlns="https://developers.google.com/blockly/xml">
  <block type="create" id="O0.%:4f-:Pqkysp}DPdK" x="63" y="-37">
    <field name="NAME">gaszaehlerStand</field>
    <value name="VALUE">
      <block type="math_number" id="DhL1vz/Iy1;/}/)[k9FO">
        <field name="NUM">0</field>
      </block>
    </value>
    <value name="COMMON">
      <block type="text" id="$(AthiGYY3W!+XI%po/t">
        <field name="TEXT">{"type": "number", "unit": "m³"}</field>
      </block>
    </value>
    <next>
      <block type="create" id="kt:st]g_7HQ~1,AVg(+C">
        <field name="NAME">gaszaehlerStandkWh</field>
        <value name="VALUE">
          <block type="math_number" id="#Pt*uq1EN[v.o|eC$}9c">
            <field name="NUM">0</field>
          </block>
        </value>
        <value name="COMMON">
          <block type="text" id="bWM6wLsF^Y~MSK#E$4}0">
            <field name="TEXT">{"type": "number", "unit": "kWh"}</field>
          </block>
        </value>
        <next>
          <block type="on" id="[Aae;WUw?/GQLLaSi|YP">
            <field name="OID">rpi2.0.gpio.22.state</field>
            <field name="CONDITION">true</field>
            <field name="ACK_CONDITION"></field>
            <statement name="STATEMENT">
              <block type="update" id="{Fr+[nvsyzsRW=R)4u{|" inline="false">
                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                <field name="OID">javascript.0.gaszaehlerStand</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                  <block type="math_arithmetic" id="J$]R.`;08=+yt0]}Ii|*" inline="false">
                    <field name="OP">ADD</field>
                    <value name="A">
                      <shadow type="math_number" id="(8#e7nEvA)961d@}=f1e">
                        <field name="NUM">1</field>
                      </shadow>
                      <block type="get_value" id="CUh_iTk5%z6jmF=-I~}Y">
                        <field name="ATTR">val</field>
                        <field name="OID">javascript.0.gaszaehlerStand</field>
                      </block>
                    </value>
                    <value name="B">
                      <shadow type="math_number" id="UpA:b_2XlkBjbm_gL8bq">
                        <field name="NUM">0.01</field>
                      </shadow>
                    </value>
                  </block>
                </value>
              </block>
            </statement>
            <next>
              <block type="on" id="|6!Nh%NKoNreoIx{kE(B">
                <field name="OID">javascript.0.gaszaehlerStand</field>
                <field name="CONDITION">ne</field>
                <field name="ACK_CONDITION"></field>
                <statement name="STATEMENT">
                  <block type="comment" id="gz7=_OL%2?bU~j;XKk%R">
                    <field name="COMMENT">m³ * Zustandszahl * Brennwert</field>
                    <next>
                      <block type="update" id="8$E,+yL|3cVhOf:%4~@W" inline="false">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">javascript.0.gaszaehlerStandkWh</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="math_rndfixed" id=":a7CEg1}#$XfI]rAO}2/">
                            <field name="n">1</field>
                            <value name="x">
                              <shadow type="math_number" id="Cm#rg^1=.kzHerEE(q1G">
                                <field name="NUM">3.1234</field>
                              </shadow>
                              <block type="math_arithmetic" id="P~7p{TAN8J!hbi}wF=,s" inline="false">
                                <field name="OP">MULTIPLY</field>
                                <value name="A">
                                  <shadow type="math_number" id="_zw?QIdjf[qQd_(c(X(V">
                                    <field name="NUM">1</field>
                                  </shadow>
                                  <block type="math_arithmetic" id="h/K]6epkq4eEmczq#XW4" inline="false">
                                    <field name="OP">MULTIPLY</field>
                                    <value name="A">
                                      <shadow type="math_number" id="cr[7/qN25UTSH_]kjR/S">
                                        <field name="NUM">1</field>
                                      </shadow>
                                      <block type="on_source" id="-Vo;;;BDSiGRGu.Y~q0L">
                                        <field name="ATTR">state.val</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <shadow type="math_number" id="UNm.pI?(Vmrk*-{~Q!hs">
                                        <field name="NUM">0.9595</field>
                                      </shadow>
                                    </value>
                                  </block>
                                </value>
                                <value name="B">
                                  <shadow type="math_number" id="K=xmEI^vFAvsM0@aV]/G">
                                    <field name="NUM">10.247</field>
                                  </shadow>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>

Transparenz-Hinweis (Level 1)

An diesem Beitrag ist kein Hersteller beteiligt! Sämtliche Produkte habe ich selbst gekauft und trage die kompletten Kosten für diesen Beitrag alleine! Die Inhalte wurden somit von niemandem gesehen oder abgestimmt. Es handelt sich zu 100% um meine persönliche Meinung und Erfahrung!

» Mehr erfahren

ioBroker-Master-Kurs
Newsletter
  • Zugang zu exklusiven Inhalten (Bonus-Kurse)
  • Monatliche Zusammenfassungen
  • Informationen zu neuen Kurs-Lektionen
  • Einblicke hinter die Kulissen
  • 5€-Gutschein für den Online-Shop
Jetzt eintragen »
Community-Forum
Folge mir
Du willst mehr?

Smart-Home-Trainings von A-Z

Steig' noch tiefer in die Themen ein und meistere Deine Projekte! Über 16.000 Teilnehmer konnten sich schon von der Qualität der Online-Kurse überzeugen.

Abonniere jetzt den Newsletter für
spannende Neuigkeiten! interessante Angebote! neue Kurs-Inhalte!
* Durch Angabe meiner E-Mail-Adresse erkläre ich mich damit einverstanden, dass mir unregelmäßig Informationen und Produktempfehlungen aus dem Themengebiet »Smart Home« zugesendet werden. Mit dem Eintrag akzeptiere ich die Datenschutzbestimmungen. Meine Einwilligung kann ich jederzeit widerrufen.