ThomDietrich / SenseoWifi

Wifi'ify the Senseo coffee maker. Circuit and firmware for an internal Senseo hack to monitor and control the daily coffee brew (via MQTT) ☕️📶
GNU General Public License v3.0
90 stars 23 forks source link

einbindung im iobrocker #35

Closed diskus-tempel closed 3 years ago

diskus-tempel commented 4 years ago

Hallo zusammen , ich möchte mich bei Thomas Bedanken für die Platine und die hilfe bei der Kompelierung

da ich den iobrocker als smarthomezentrale nutze habe ich mir ein blockly script gemacht um die kaffemaschiene via alexa auch anzusteuern

hier erst einmal das script selbst

<xml xmlns="https://developers.google.com/blockly/xml">
  <block type="on" id=":tKFC7{i^_z~*f@]FM/6" x="88" y="67">
    <field name="OID">0_userdata.0.Kaffe</field>
    <field name="CONDITION">ne</field>
    <field name="ACK_CONDITION"></field>
    <statement name="STATEMENT">
      <block type="controls_if" id="@4da8+G1gocm1o-xyJQ:">
        <value name="IF0">
          <block type="logic_compare" id="%:#wI=a%(V4At8qa86N7">
            <field name="OP">EQ</field>
            <value name="A">
              <block type="get_value" id="S?%%m%*qZeT+OZrlRw7C">
                <field name="ATTR">val</field>
                <field name="OID">0_userdata.0.Kaffe</field>
              </block>
            </value>
            <value name="B">
              <block type="logic_boolean" id="!wB2kNZ0jepw?BN{Yax^">
                <field name="BOOL">TRUE</field>
              </block>
            </value>
          </block>
        </value>
        <statement name="DO0">
          <block type="control" id="K_KnE$};v:IUH(KO-j/t">
            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
            <field name="OID">mqtt.0.homie.ecfabc58a2e4.machine.power.set</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
              <block type="text" id="..i4;OBa9)%m4XX5]=#a">
                <field name="TEXT">true</field>
              </block>
            </value>
            <next>
              <block type="controls_if" id="%=o27YD4dG=8d~aRrH2S" disabled="true">
                <value name="IF0">
                  <block type="logic_compare" id="YBjf-q(O@A;dg:~%mMVv">
                    <field name="OP">EQ</field>
                    <value name="A">
                      <block type="get_value" id="rBh%r{mN-APBpF~M?#8]">
                        <field name="ATTR">val</field>
                        <field name="OID">mqtt.0.homie.ecfabc58a2e4.machine.opState</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="text" id="c|:ZU(p3k35wloog,e#2">
                        <field name="TEXT">SENSEO_READY</field>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="control" id="LPFW*QKvPaMp4L[nUuwl">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                    <field name="OID">mqtt.0.homie.ecfabc58a2e4.machine.brew.set</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <value name="VALUE">
                      <block type="text" id="sTv^lcL{];_~^/l_;Rl:">
                        <field name="TEXT">1cup</field>
                      </block>
                    </value>
                    <next>
                      <block type="control" id="E%YI*GT@Tx_I5TRP./%y">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                        <field name="OID">mqtt.0.homie.ecfabc58a2e4.machine.power.set</field>
                        <field name="WITH_DELAY">TRUE</field>
                        <field name="DELAY_MS">25</field>
                        <field name="UNIT">sec</field>
                        <field name="CLEAR_RUNNING">FALSE</field>
                        <value name="VALUE">
                          <block type="text" id="rL:$UA=}L5L({%7%?Y]@">
                            <field name="TEXT">false</field>
                          </block>
                        </value>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </statement>
      </block>
    </statement>
    <next>
      <block type="on" id="Rrzgb|a%e^fo{jAK]A!5">
        <field name="OID">mqtt.0.homie.ecfabc58a2e4.machine.opState</field>
        <field name="CONDITION">any</field>
        <field name="ACK_CONDITION"></field>
        <statement name="STATEMENT">
          <block type="controls_if" id="e8nVJ[o5BUOhzPP[]%Y?">
            <value name="IF0">
              <block type="logic_compare" id="B}X}l%Wp7tF$$RAT(?1y">
                <field name="OP">EQ</field>
                <value name="A">
                  <block type="get_value" id="YmqMVoG.I`A8dO=?;q.K">
                    <field name="ATTR">val</field>
                    <field name="OID">mqtt.0.homie.ecfabc58a2e4.machine.opState</field>
                  </block>
                </value>
                <value name="B">
                  <block type="text" id="[mPJ~:BJz6paU{yo7GoI">
                    <field name="TEXT">SENSEO_READY</field>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="control" id="#^P)*J%lz*yIcMD{`wMh">
                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                <field name="OID">mqtt.0.homie.ecfabc58a2e4.machine.brew.set</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                  <block type="text" id="h-If!Y*KB!;MXY#{^hCY">
                    <field name="TEXT">1cup</field>
                  </block>
                </value>
                <next>
                  <block type="control" id="Kn|{/:=COL%}?dl9,vY1">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                    <field name="OID">mqtt.0.homie.ecfabc58a2e4.machine.brew.set</field>
                    <field name="WITH_DELAY">TRUE</field>
                    <field name="DELAY_MS">1000</field>
                    <field name="UNIT">ms</field>
                    <field name="CLEAR_RUNNING">FALSE</field>
                    <value name="VALUE">
                      <block type="text" id="th#`N)o}{}mC`:jZ-_m(">
                        <field name="TEXT">1</field>
                      </block>
                    </value>
                    <next>
                      <block type="control" id="Wcs)tF~yEbh;5jE=|o((">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                        <field name="OID">mqtt.0.homie.ecfabc58a2e4.machine.power.set</field>
                        <field name="WITH_DELAY">TRUE</field>
                        <field name="DELAY_MS">25</field>
                        <field name="UNIT">sec</field>
                        <field name="CLEAR_RUNNING">FALSE</field>
                        <value name="VALUE">
                          <block type="text" id="9`Mo4,3F{xyN#(5ONX.e">
                            <field name="TEXT">false</field>
                          </block>
                        </value>
                        <next>
                          <block type="control" id="d7N#iIArvSbT_/GkX792">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                            <field name="OID">0_userdata.0.Kaffe</field>
                            <field name="WITH_DELAY">TRUE</field>
                            <field name="DELAY_MS">30</field>
                            <field name="UNIT">sec</field>
                            <field name="CLEAR_RUNNING">FALSE</field>
                            <value name="VALUE">
                              <block type="logic_boolean" id="xcd9qNkqVC$Z;1;_ZiT!">
                                <field name="BOOL">FALSE</field>
                              </block>
                            </value>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </statement>
        <next>
          <block type="on" id="E3]p7a7blX~E0.JJi|Z*">
            <field name="OID">mqtt.0.homie.ecfabc58a2e4.machine.opState</field>
            <field name="CONDITION">any</field>
            <field name="ACK_CONDITION"></field>
            <statement name="STATEMENT">
              <block type="controls_if" id="[W!p.UL[*i76zmh.U@K=">
                <value name="IF0">
                  <block type="logic_compare" id="lnedI*zuB|^!k;SlD~?w">
                    <field name="OP">EQ</field>
                    <value name="A">
                      <block type="get_value" id="0Qo]c6$n,O)i#kc?chZ$">
                        <field name="ATTR">val</field>
                        <field name="OID">mqtt.0.homie.ecfabc58a2e4.machine.opState</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="text" id="wCq1:}-Rm8!3-rKo0(dI">
                        <field name="TEXT">SENSEO_NOWATER</field>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="control" id="HF$Dj}YQ6lx[LP@h0G{2">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                    <field name="OID">alexa2.0.Echo-Devices.G000MW04748407UG.Commands.speak</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <value name="VALUE">
                      <block type="text" id="8S$CUVJmqp)kv8rNAIL0">
                        <field name="TEXT">Bitte Senseo Wassertank nachfüllen ,Wasser ist leer</field>
                      </block>
                    </value>
                    <next>
                      <block type="control" id="|0)KP[?fQh|BO}8zOi}q">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                        <field name="OID">0_userdata.0.Kaffe</field>
                        <field name="WITH_DELAY">TRUE</field>
                        <field name="DELAY_MS">30</field>
                        <field name="UNIT">sec</field>
                        <field name="CLEAR_RUNNING">FALSE</field>
                        <value name="VALUE">
                          <block type="logic_boolean" id="{Es7??vlfwbhb;@cyS0h">
                            <field name="BOOL">FALSE</field>
                          </block>
                        </value>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </statement>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>

des weiteren müsst ihr bei objekten ein virtuellen switch anlegen und diesen mittels iot in alexa intigrieren

und im link auf eure id´s alles abändern .

dann geräte suchen . dann findet alexa den virtuellen switch

und hier könnt ihr dann in alexa eine routine anlegen !

kleine infomation noch dazu

wenn die senseo manuell an den tasten bedind wird .

sollte wasser und ped bereits innen liegen da das script direkt nach fertigung des heizens auch startet zu brühen desweiteren habe ich im script das wenn der wassertank leer ist alexa in der küche mir das auch sagt

folgen wird noch der ped zähler und die infomationsübertragung an telegram

für weitere fragen einfach schreiben

lg aus nürnberg

ymmas469 commented 4 years ago

Hallo, ich habe auch vor das Projekt in IO Broker einzubinden. Ich empfange auch alle Daten der Maschine über mqtt. Schaffe es allerdings nicht sie anzusprechen. Über welches Topic gebe ich denn wohl die Befehle? Würde mich sehr über etwas Hilfe freuen. lg

diskus-tempel commented 4 years ago

Hi gerade erst gesehen , kann dir das später bildlich Mal zeigen , weibei topic usw dem Script auch zu entnehmen sind ! LG --Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.Am 18/09/2020, 19:56 schrieb ymmas469 notifications@github.com:

Hallo, ich habe auch vor das Projekt in IO Broker einzubinden. Ich empfange auch alle Daten der Maschine über mqtt. Schaffe es allerdings nicht sie anzusprechen. Über welches Topic gebe ich denn wohl die Befehle? Würde mich sehr über etwas Hilfe freuen. lg —You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

ymmas469 commented 4 years ago

Hey, das wäre spitze, habe auch versucht dein Skript einzufügen, das mache ich aber vermutlich auch schon falsch. Ich bin noch ein blutiger Anfänger was das ganze Thema betrifft.

diskus-tempel commented 4 years ago

wenn du mir mal deine email adresse gibst kann ich dir mal meine tel nr senden telefonisch is das alles etwas leichter zu erklären , diesen supoort hatte ich auch bekommen und möchte ich auch weiter geben

ymmas469 commented 4 years ago

Wow, das ist nett.

diskus-tempel notifications@github.com schrieb am Di., 22. Sept. 2020, 08:24:

wenn du mir mal deine email adresse gibst kann ich dir mal meine tel nr senden telefonisch is das alles etwas leichter zu erklären , diesen supoort hatte ich auch bekommen und möchte ich auch weiter geben

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ThomDietrich/SenseoWifi/issues/35#issuecomment-696532360, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHXV7VXFHLDW3BCF22VAX4TSHA7KRANCNFSM4PNI3HYA .

diskus-tempel commented 4 years ago

mail is raus an dich !

ThomDietrich commented 3 years ago

Hey guys, closing this thread.

Just wanted to make you aware that I have recently pushed a ton of changes to this project. There are a few really good improvements and new features. Check it out if you like.