NEWS
Stromzähler per Sonoff ESP8266 auslesen
-
@fruehwi aktiviert mal im sonoff Adapter die drei checkboxen damit die states erstellt werden. Die Mqtt verbindung scheint ja zu passen wenn er andere States Updated.
Gruß Jaschkopf
-
@Jaschkopf
Ein Traum!Danke Dir und eine Gute Nacht!
Vielen Dank für deine Super Anleitung!VG Fruehwi
-
Hallo zusammen,
der Sensor läuft soweit. Leider habe ich mehrmals am Tag das Werte nicht sauber importiert/gelesen werden. Akt. Verbrauch von 150000kWh.
Ich hab den Sensor an die 3,3V angeschlossen, sollte ich ggf. auf 5V umlöten?
Danke euch.
VG Fruehwi
-
@fruehwi aktivier mal den Median Filter indem du in der zählerdefinition die 1 zu einer 16 änderst. Guck mal ein paar posts früher da habe ich mein aktuellen Skript gepostet. Da hab ich auch die 16 drin hatte das Problem auch
-
Mit dem Filter auf 16 hat es super funktioniert.
Dein Skript mit der Auswertung schaut super aus. Aber leider bekomme ich nur Verbrauch und Akt. Verbrauch angezeigt. Tages Monats und Jahres Daten werden mir nicht angezeigt.
Muss ich noch was im Quelle Code hinzufügen?
Danke Dir.
VG -
@fruehwi eigentlich nicht. Sollte copy Paste funktionieren. Postete mal ein Screenshot von deinen Werten und den Code vom Skript bitte +
-
ich hab nur copy past gemacht.
Verwendet wird ein Wemos D1. Beim Einfügen hat er das Skript nicht speichern wollen. Somit musste ich den Quelle Code auf dreimal zerlegt einfügen.
>D s1="Tagesverbrauch: {m}<b><span style=" v2=0 hr=0 md=0 yr=0 ;Strom p:sm=0 sd=0 p:sma=0 smn=0 p:sya=0 syn=0 sspr=0.2583 yspr=0 ysgp=156.00 y€=0 >T v2=SML#DJ_TPWRIN >B ->sensor53 r tper=10 >S ;Tagesverbrauch hr=hours if chg[hr]>0 and hr==0 and v2>0 then sm=v2 svars endif if upsecs%tper==0{ sd=v2-sm } ;Monatsverbrauch md=day if chg[md]>0 and md==1 and v2>0 then sma=v2 svars endif if upsecs%tper==0{ smn=v2-sma } ;Jahresverbrauch yr=year if chg[yr]>0 and hr==0 and md==1 and v2>0 then sya=v2 svars endif if upsecs%tper==0{ syn=v2-sya ;Kosten yspr=syn*sspr+ysgp } >M +1,13,s,16,9600,SML 1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,3 1,77070100100700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR, #
Danke Dir.
-
@fruehwi gute frage. Sieht so aus als hätte er das Skript nicht gefressen. Mach mal das Skript leer und speicher mal und guck ob dann alle Werte weg sind. Dann kopiert das Skript nochmal neu rein speichern und Neustart machen.
-
@Jaschkopf
hatte ich auch schon mehrmals probiert.
Morgen versuche ich es mal auf einer NodeMCU. -
Also bei mir geht das Script nach probieren. Es waren bei mir zu viele Leerzeichen im Script versteckt. Nachdem ich alle entfernt hatte lief es. Hier mal nochmal mein Script.
>D s1="Tagesverbrauch: {m}<b><span style=" v2=0 hr=0 md=0 yr=0 ;Strom p:sm=0 sd=0 sma=0 smn=0 sya=0 syn=0 sspr=0.2393 yspr=0 ysgp=0.00 y€=0 >T v2=SML#DJ_TPWRIN >B ->sensor53 r tper=10 >S ;Tagesverbrauch hr=hours if chg[hr]>0 and hr==0 and v2>0 then sm=v2 svars endif if upsecs%tper==0{ sd=v2-sm } ;Monatsverbrauch md=day if chg[md]>0 and md==1 and v2>0 then sma=v2 svars endif if upsecs%tper==0{ smn=v2-sma } ;Jahresverbrauch yr=year if chg[yr]>0 and hr==0 and md==1 and v2>0 then sya=v2 svars endif if upsecs%tper==0{ syn=v2-sya ;Kosten yspr=syn*sspr+ysgp } >J ,"Verbrauch Tag":"%sd%" ,"Verbrauch Monat":"%smn%" ,"Verbrauch Jahr":"%syn%" ,"Zählerstand 0:00Uhr":"%3sm%" ,"Zählerstand Monatsanfang":"%3sma%" ,"Zählerstand Jahrenanfang":"%3sya%" >W ============== Tagesverbrauch: {m} %3sd% KWh Monatsverbrauch: {m} %3smn% KWh Jahresverbrauch: {m} %3syn% KWh ============== Preis/kWh: {m} %4sspr% € Grundpreis: {m} %2ysgp% € -------------- Kosten lfd. Jahr:{m} %2yspr% € ============== Zählerstände: aktuell: {m} %3v2% KWh 0:00 Uhr: {m} %3sm% KWh Monatsanfang: {m} %3sma% KWh Jahresanfang: {m} %3sya% KWh ============== >M +1,13,s,16,9600,SML 1,77070100010800ff@1000,Verbrauch,KWh,DJ_TPWRIN,4 1,77070100100700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR,0 #
-
@Jaschkopf Ich habe jetzt den neuen Volkszähler zusammengebaut und angeschlossen. Sieht gut aus
Allerdings bekomme ich die aktuelle Leistung nicht angezeigt.
21:06:56 : 77 07 81 81 c7 82 03 ff 01 01 01 01 04 45 4d 48 01 21:06:56 : 77 07 01 00 00 00 09 ff 01 01 01 01 0b 06 45 4d 48 01 02 71 59 4a 30 01 21:06:56 : 77 07 01 00 01 08 00 ff 63 01 82 01 62 1e 52 ff 56 00 1e 0c 8e d3 62 1e 52 ff 56 00 00 00 00 00 01 21:06:56 : 77 07 01 00 0f 07 9a 7d db 29 4f 8f 09 d8 c9 7a c8 54 35 9e 1d 7d 19 b2 16 bb 4a 56 f1 ed 63 e0 35 00 76 07 00 29 03 a0 bc 2e 62 00 62 00 72 63 02 01 71 01 63 ae 8e 00 00 1b 1b 1b 1b 1a 01 21:06:57 : 1b 21:06:57 : 1b 1b 1b 01 01 01 01 76 07 00 29 03 a0 bc 30 62 00 62 00 72 63 01 01 76 01 01 07 00 29 0f 8d 94 10 0b 06 45 4d 48 01 02 71 59 4a 30 01 01 63 21:06:57 : 5c 2d 00 76 07 00 29 03 a0 bc 31 62 00 62 00 72 63 07 01 21:06:58 : 77 01 0b 06 45 4d 48 01 02 71 59 4a 30 01 72 62 01 65 0f 8d bb da 21:06:58 : 77
Das sind die Rohdaten.
Den String für den aktuelle Leistung (1,77070100100700ff@1,Akt. Verbrauch,W,DJ_TPWRCURR,0) kann ich aber nicht finden?!
Der Zähler ist ein EMH HW8E2A5L0EK2P -
@RalfTh Laut Doku vom Hersteller lautet dein String für die momentane Leistung: 770701000f0700ff. Probier das mal aus.
Gruß Jaschkopf
-
@Jaschkopf sagte in Stromzähler per Sonoff ESP8266 auslesen:
770701000f0700ff
Danke Jaschi, es funktioniert jetzt. Ich habe mir die falsche Bedienungsanleitung angeschaut, da stand statt "f" eine "7". Hast du den Link noch?
-
@RalfTh Ja hier: http://www.nzr.de/download.php?id=612
Kleiner Tipp: Die Schnittstelle auf der Rückseite des Zählers gibt noch viel mehr Daten aus. Wenn du einen Elektriker kennst der dir den Zähler demontiert und hinterher neu Verplombt kannst du den Lesekopf auch auf die rückseitige Schnittstelle aufsetzen
-
@Jaschkopf Vielen Dank. Auf der Seite von EMH haben sie nur die Generation K und P und ich habe in meinem Wahn das K als ein H gelesen. Bei diesem Zähler steht eine "10" statt eine "0f". Ich wäre jetzt nicht auf die Idee gekommen, bei NZR zu schauen.
-
@Jaschkopf Ich habe da ein paar Fragen zu deinem Skript. Weshalb hast du denn sma und sya als permanente Variable angelegt? Da ich meine Zählerstände bisher täglich durch ablesen registriert habe kenne ich den Zählerstand zum Monatsanfang und natürlich den Zählerstand zum laufenden Abrechnungsbeginn. Allerdings hatte die Änderung von p:sma und p:sya keinen Effekt. Ich musste erst das p: entfernen, um die Übernahme der Werte zu erreichen. Vorher hatte das Skript immer von Zählerstand 0 angefangen zu rechnen und damit natürlich falsche Werte für den aktuellen Abrechnungszeitraum ausgegeben. Bei einem Restart des D1 wird der Tagesverbrauch gelöscht. Wäre da evtl. die Definition p:sd=0 hilfreich??
Die in der Sektion <M angegebenen Zeilen erscheinen als Datenpunkte im ioBroker. Wie kann ich z.B. den Tagesverbrauch als Datenpunkt im ioBroker erzeugen? ich suche schon die ganze Zeit im Wiki und finde nichts.
Ich möchte auch das Skript um den Tagesverbrauch vom Vortag ergänzen. Dachte da an die Variable sdy. Habe nur noch nicht ganz verstanden wann ich das wo berechne.
Bisher habe ich konfiguriert:
in <D (p:)sdy=0
in <J unterhalb von Verbrauch Tag die neue Zeile ,"Verbrauch Vortag":%sdy%
in <W unterhalb des Tagesverbrauch neue Zeile Vortagesverbrauch: {m}%sdy% KWh
-
Hallo zusammen,
da ich auf meinen letzten Post keine Antwort erhalten habe, musste ich mir eine andere Lösung einfallen lassen. Ich habe das Problem für mich jetzt mit Blockly und eigenen Datenpunkten gelöst. Ich poste mal meinen Lösungsansatz.
Meine Datenpunkte im ioBroker:
Und hier mein Blockly dazu:
Und hier noch das XML:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="5R`M]^^]KJ`7$#6%5=rE">Akt_Zaehlerstand</variable> <variable type="" id="hw|:6+#ri,90iH0u!T0e">Akt_Leistung</variable> </variables> <block type="comment" id="+8:x5xXlgL{2VF1oFxXN" x="87" y="88"> <field name="COMMENT">Aktualisiert alle 10 Sekunden die Zählerstände</field> <next> <block type="schedule" id="JAbYj59_gH?5n2TDnMu+"> <field name="SCHEDULE">*/10 * * * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="Pzp8I)nFt27=k|mRGpuy"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> <value name="VALUE"> <block type="get_value" id=".[3/UxK9~BGE=s*T@dw3"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Stromzähler.SML_DJ_TPWRIN</field> </block> </value> <next> <block type="variables_set" id="k#%gg8KXcM)/pfzm^5Gs"> <field name="VAR" id="hw|:6+#ri,90iH0u!T0e" variabletype="">Akt_Leistung</field> <value name="VALUE"> <block type="get_value" id="p65y1)isT/onGtMeT7M["> <field name="ATTR">val</field> <field name="OID">sonoff.0.Stromzähler.SML_DJ_TPWRCURR</field> </block> </value> <next> <block type="update" id="8-qCC^-w!H~!TRZE~:4O"> <mutation delay_input="true"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_Aktuell</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="variables_get" id="Pk+0wxb+Bi;]D9Rtc]V;"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> <next> <block type="update" id="Kk?~4wU8(0vVJ,F;K{{o"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Heute</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="PmR7c|]T_yYXK[(!@HA$"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="PhFgH^bN]_ZB+=7:Y=ZQ"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="|1Q/[-p1/2d3A$F*W-@C"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="LQx(4[3IAXWMFv~b/=?8"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="Urhr[FlmlwH,-`3%*oTY"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> <value name="B"> <shadow type="math_number" id="=ho-N:ZU{9.L#@yO-j[|"> <field name="NUM">1</field> </shadow> <block type="get_value" id="fs{*S,3OYzK@/7Ky~4MW"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_0:00</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="jRLRiZ6:^9j0~+enR]zA"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Leistung_Aktuell</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="5XR.pF9}I.oMHTAhB,*h"> <field name="VAR" id="hw|:6+#ri,90iH0u!T0e" variabletype="">Akt_Leistung</field> </block> </value> <next> <block type="update" id="]E=cPfNz{KVp%B-#=:mQ"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Monat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="uB%.#)xmgn/#6`}WaR71"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="qMW9@P!mis?2Toz%-r?y"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="f(sf($emS)dr6OaZ=F_z"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="LQx(4[3IAXWMFv~b/=?8"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="wm;RT0{JL4W^DNpJFZRd"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> <value name="B"> <shadow type="math_number" id="=ho-N:ZU{9.L#@yO-j[|"> <field name="NUM">1</field> </shadow> <block type="get_value" id="8Aqy]SC~|j%)-F6VM6)n"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_Monatsanfang</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="G=I:~2#DV[+SJ)p)~~VP"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Abrechnungsjahr</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id=",Oq;YRS8XO@KaMKQ7!]f"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id=".kW~OzajFi3^%aFqkFXs"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="1OFp4Q,cjKo6]s_imeZ3"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="LQx(4[3IAXWMFv~b/=?8"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="#bA6YSq#9mH{A6g2A8+z"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> <value name="B"> <shadow type="math_number" id="=ho-N:ZU{9.L#@yO-j[|"> <field name="NUM">1</field> </shadow> <block type="get_value" id="3EVb!rK9K+B3$,yq!w9k"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_Abrechnungsbeginn</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="fRi!1KfW2B*;g`w0Y!?n"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Kosten_Abrechnungsjahr</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="mXqm#^`pB$l1`k//:agF" inline="false"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="e.YrmNgG`aCTcs7v652k"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="!NPxK]iaOK%$ndixnR!3" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="Bb%uMFto,dx!TJ#0k.y="> <field name="NUM">1</field> </shadow> <block type="get_value" id="$i4PYLYC)04[*f,ycc{V"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Kosten_Grundpreis</field> </block> </value> <value name="B"> <shadow type="math_number" id="TQ5:ZE^%izvGFry,l8zh"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="6]^},qK?q%F.66U0f]=k"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="FyqV9?KvO*8KFQUAn-3`"> <field name="NUM">1</field> </shadow> <block type="get_value" id="d,oEYFJ4^1e:mz{;H{k%"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Kosten_kWh_in_Euro</field> </block> </value> <value name="B"> <shadow type="math_number" id="xebVJ7IVS$habfTl/Si3"> <field name="NUM">1</field> </shadow> <block type="get_value" id="D?|1DE7;OXYdtGD_/!*-"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Abrechnungsjahr</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="!H(TM~7]E+7pAHl%2`dV"> <field name="COMMENT">Aktualisiert dei Zählerstände täglich um 0:00</field> <next> <block type="schedule" id="b2FC_`#h3RpW*UgbbIds"> <field name="SCHEDULE">55 59 23 * * *</field> <statement name="STATEMENT"> <block type="update" id="CFf2|!Ys1HXkth{}Tdq#"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Gestern</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="SAAH5P,=24!RuQ@L;0X|"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Heute</field> </block> </value> <next> <block type="update" id="//mD6cYd9NGc$1iakvX-"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_0:00</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Rj0N+DXRd7:-t~%$cmL-"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="vO19-![t:Mt+/XLZbrF_"> <field name="COMMENT">Aktualisert den Zählerstand jeden 1. im Monat</field> <next> <block type="schedule" id="#lHUl+IJ+^{vV9f%SX~+"> <field name="SCHEDULE">0 0 1 * *</field> <statement name="STATEMENT"> <block type="update" id="hH;jN3S#b|VSVWvT4YRh"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Vormonat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="$3BH*r*[+J;7K]L!MdqI"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Verbrauch_Monat</field> </block> </value> <next> <block type="update" id="g2xtn0!!J}G_kvUx8+=n"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenobjekte.Stromverbrauch.Zählerstand_Monatsanfang</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="nnG=yOpi:RWL,IAxB9dg"> <field name="VAR" id="5R`M]^^]KJ`7$#6%5=rE" variabletype="">Akt_Zaehlerstand</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
Da ich meine Zählerstände bereits seit längerem erfasse, habe ich den Zählerstand zum Beginn des Abrechnungsjahres in den Datenpunkt eingetragen. Ebenso habe ich den Zählerstand zum Monatsanfang eingetragen. Alles Andere wird ab dann automatisch berechnet. Mit der der aktuellen Leistung und deren Aufzeichnung in Influx ermittle ich Leistungsspitzen. In einem nächsten Schritt gleiche ich dies mit den Leistungsaufzeichnungen meiner Gosund SP111 Stecker. Diese habe ich bei verschiedensten Verbrauchern (Kaffeemaschine, Kühlschrank, Geschirrspüler, Waschmaschine etc.) zwischengeschaltet. Ich hoffe, dass ich damit etwas Transparenz über meinen Verbrauchswerte erhalte. Derzeit habe ich noch unerklärliche Leistungsspitzen.
Mein nächstes Projekt starte ich mit meinem Gaszähler.
-
@RalfTh Tut mir leid das ich auf den letzten Post nicht geantwortet hab. Muss die Mailbenachrichtigung irgendwie übersehene haben. Das p: vor dem Name definiert eine Permanente Variable die auch bei Neustart des ESP gespeichert bleibt. Soll die Variable neu beschrieben werden kann man das jederzeit machen, es muss nur das Kommando svars hinterher geschoben werden. Bei mir Läuft das Script einwandfrei. Theoretisch sollte es copy&paste auch bei dir laufen.
Gruß Jaschkopf
-
@Jaschkopf vielen Dank für die ausführliche Anleitung,
leider bekomme ich beim flashen diese Fehlermeldung:Error: Invalid 'C:\Users\Manu\Downloads\Sonoff-Tasmota-universal8\Sonoff-Tasmota-universal8\platformio.ini' (project configuration file): 'No option 'platform_packages' in section: 'common''
kannst du mir sagen wo hier der Fehler liegt?
-
@Polo1501 lad doch bitte mal deine platformio.ini hier hoch dann gucke ich mal rein.
Gruß Jaschkopf