Hallo URBANsUNITED,
kann ich im Moment nicht beantworten, nächste Woche sollte es wieder möglich sein.
Hallo URBANsUNITED,
kann ich im Moment nicht beantworten, nächste Woche sollte es wieder möglich sein.
Kurz mein Bericht es funktioniert jetzt mit meinem Zähler L&G E220 soweit alles.
Voraussetzung war allerdings der PIN den ich vom meinem Netzbetreiber bekommen habe.
Damit man die erweiterte Ausgabe der Optischen Schnittstelle aktivieren kann. (Momentanleistung)
(Pin auf OFF + erweiterte Ausgabe auf on)
Ich habe alles in ein Mini Gehäuse gepackt. (Haltemagnet im Gehäuse)
Wemos d1, tekt 5400s mit pullup 4.7 Kohm , IR Sender Diode mit 150 Ohm Vorwiederstand + Taster
Stromversorgung des Wemos via usb Netzteil über eine Hutschienen Steckdose im Zählerschrank.
Jetzt folgt noch die Integration in FHEM (via MQTT) mit Statistik usw.
Habe nur die Werte die ich benötige eingebaut .
#if METER==E220
#define METERS_USED 1
struct METER_DESC const meter_desc[METERS_USED]={
[0]={0,'s',0,SML_BAUDRATE,"SML"}};
// 2 Richtungszähler EHZ SML 8 bit 9600 baud, binär
const uint8_t meter[]=
//0x77,0x07,0x01,0x00,0x01,0x08,0x00,0xff
"1,77070100010800ff@1000," D_TPWRIN ",KWh," DJ_TPWRIN ",1|"
//0x77,0x07,0x01,0x00,0x10,0x07,0x00,0xff
"1,77070100100700ff@1," D_TPWRCURR ",W," DJ_TPWRCURR ",0|"
//0x77,0x07,0x01,0x00,0x00,0x00,0x09,0xff
"1,77070100600100ff@#," D_METERNR ",," DJ_METERNR ",0";
#endif
Hallo zusammen,
ich habe auch den noch nicht erwähnten Zähler EBZD_G erfolgreich hinzugefügt.
#if METER==EBZD_G
#define METERS_USED 1
struct METER_DESC const meter_desc[METERS_USED]={
[0]={0,'s',0,SML_BAUDRATE,"strom"}};
const uint8_t meter[]=
//0x77,0x07,0x01,0x00,0x01,0x08,0x00,0xff
"1,77070100010800ff@1000," D_TPWRIN ",KWh," DJ_TPWRIN ",4|"
// ..
"1,77070100020800ff@1000," D_TPWROUT ",KWh," DJ_TPWROUT ",4|"
//0x77,0x07,0x01,0x00,0x01,0x08,0x01,0xff
"1,77070100010801ff@1000," D_TPWRCURR1 ",KWh," DJ_TPWRCURR1 ",4|"
//0x77,0x07,0x01,0x00,0x01,0x08,0x02,0xff
"1,77070100010802ff@1000," D_TPWRCURR2 ",KWh," DJ_TPWRCURR2 ",4|"
// 77 07 01 00 10 07 00 FF
"1,77070100100700ff@1," D_TPWRCURR ",W," DJ_TPWRCURR ",0|"
// ..
"1,77070100600100ff@#," D_METERNR ",," DJ_METERNR ",0";
#endif
Alles anzeigen
Läuft super der Code by the way. Danke.
Wie definiere ich denn jetzt den Gaszähler? Wie trage ich diese Daten bei Uni3 ein?
#define GAS_COUNTER_MODE 5000
#define GAS_POLL_MODE
I habe Universal4 von gemu2015 kompiliert und laufen auf einem Wemos D1 Mini. Das Ganze ist angeschlossen an ein Metrix Impulsnehmer NI-3 mit einem 4.7KOhm Widerstand. Abgesehen von der Genauigkeit funktioniert das auch.
Für die Justierung wollte ich nun mit den Parametern GAS_COUNTER_MODE und GAS_POLL_MODE experimentieren. Leider gibt es weder in sonoff\xsns_01_counter.ino noch in sonoff\xsns_95_sml.ino einen Hinweis, wie die Parametern in den neueren Branches verändert werden können.
Oder passiert die Konfiguration nun über
"2,1-0:1.8.0*255(@100," D_GasIN ",cbm," DJ_COUNTER ",2|"
Kann irgendwer helfen?
Hallo URBANsUNITED,
so bin jetzt wieder zu Hause und konnte jetzt ablesen das mein Wasser-Zähler jetzt mit 10 funktioniert.
Danke für den Tipp
Genau meine Probleme von damals...
Lies dir dazu bitte die Beiträge ab 376 - 386 nochmals durch. Da wurde auch von gemu2015 ein Erklärung dazu abgegeben (379).
D0 Zähler SML auslesen mit Tasmota
Meierchen006 hatte dann den Rest zur Erklärung dazu beigesteuert.
Lentzendlich muss nichts eingestellt werden, funktioniert direkt. Sitzt der Reedkontakt evtl. nicht richtig?
Hallo URBANsUNITED,
so bin jetzt wieder zu Hause und konnte jetzt ablesen das mein Wasser-Zähler jetzt mit 10 funktioniert.
Danke für den Tipp
Sauber! Das freut mich. Konnte ich dir auch mal helfen
Cheers
Andi
Hallo,
nachdem jetzt der Wasserzähler 3 Wochen Fehlerfrei läuft habe ich jetzt mal wieder Powerline in Betrieb genommen, Powerline hatte ich ja immer als Fehlerquelle gesehen.
Jetzt prüfe ich mal wieder nach ob es mit PL auch fehlerfrei bleibt.
Lentzendlich muss nichts eingestellt werden, funktioniert direkt. Sitzt der Reedkontakt evtl. nicht richtig?
Alles klar, kann ich nun bestätigen. Es funktioniert ohne jegliche Anpassung.
Hier noch mal zusammenfassend die Schritte für einen Gasmeter über einen Reedkontakt auszulesen:
Im Anhang ist eine fertig kompilierte Firmware: Sonoff-Tasmota 6.5.0.11/wemosd1-EN für alle, die Schwierigkeiten mit der Kompilierung haben.
Wer das Löten der Stiftleisten bei dem Wemos umgehen möchte, greift auf ein NodeMCU zurück, welches die Stiftleisten schon vormontiert hat: https://www.makershop.de/plattformen/no…sp8266-dev-kit/ Dann kann man über Wago-Klemmen, alles einfach zusammenstecken.
Die einzige Frage, die mir bleibt ist: lässt sich das Löschen des Zahlerstandes nach einer Stromunterbrechung unterbinden? Die eigentliche Konfiguration des Moduls bleibt ja auch bestehen.
Hi,
ich habe einen ZPA ZE31, mittels hterm bekomme ich mit 300baud 7E1 und nach senden von 2F 3F 21 0D 0A alle Daten. Mit 9600 baud kommt nix mehr an. Zudem wird nach ein paar Minuten nauch über 300 baud nichts mehr gesendet, es muss erst wieder die start sequenz gesendet werden.
Gibt es überhaupt die Möglichkeit den tasmota fork mit meinem Zähler zu betreiben?
Mit tasmota kenn ich mich einigermaßen aus, habe auch schon den universal-5 fork geflasht (kommen natürlich keine Werte an, BPW40).
Habt Ihr einen Tip?
Danke..
Hallo,
leider stehe ich gerade total auf dem Schlauch. Vielleicht hat hier jemand eine Idee und kann mich auf die richtige Fährte bringen.
Ich versuche aktuell zwei Stromzähler mit einem ESP Wemos D1 mini auszulesen. Für die LED nutzen ich einen BPW 40. Der erste über den RX-Pin funktioniert immer. Allerdings schaffe ich es nicht einen zweiten, Software-Pin zum Laufen zu bewegen.
Damit ich nicht immmer zum Zähler rennen muss, habe ich als Test nun eine Kabel von GND, dass ich per Hand an RX oder eben einen anderen Pin halten kann. In der Sonof-Konsole sehe ich dann auch Bits / Telegramme von der RX-Schnittstelle. Am SW-Pin erkennt er aber noch nicht mal das.
Ich habe schon den Pin gewechselt. Selbst D4 mit der verdrahtenen LED vom ESP lässt zwar die LED aufleuchten, aber ich erhalte keine Telegramme im Log.
Auch verschiedene Widerstände haben keine Wirkung gezeigt.
Ich gehe daher davon aus, dass ich die angepasste TasmotaSerial nicht richtig nutze.
Für die Software habe ich das ganze Repo von gemu2015 heruntergeladen. Dort sollte ja die angepasste Version dabei sein. Mit VS Code + PIO kann ich diesen Stand auch kompilieren.
#define XSNS_95 95
// Baudrate des D0 Ausgangs, sollte bei den meisten Zählern 9600 sein
#define SML_BAUDRATE 9600
// sende dies alle N Sekunden, für Zähler die erst auf Anforderung etwas senden
//#define SML_SEND_SEQ
// use analog optical counter sensor with AD Converter ADS1115
//#define ANALOG_OPTO_SENSOR
// support für mehr als 2 Meter mit spezieller Tasmota Serial Version
// dazu muss der modifizierte Treiber => TasmotaSerial-2.3.1 ebenfalls kopiert werden
#include <TasmotaSerial.h>
// speziellen angepassten Tasmota seriell Treiber benutzen
#define SPECIAL_SS
//...
// max 23 Zeichen
#if DMY_LANGUAGE==de-DE
// deutsche Bezeichner
#define D_TPWRIN "Verbrauch"
#define D_TPWROUT "Einspeisung"
#define D_TPWRCURR "Aktueller Verbrauch"
#define D_TPWRCURR1 "Verbrauch P1"
#define D_TPWRCURR2 "Verbrauch P2"
#define D_TPWRCURR3 "Verbrauch P3"
#define D_Strom_L1 "Strom L1"
#define D_Strom_L2 "Strom L2"
#define D_Strom_L3 "Strom L3"
#define D_Spannung_L1 "Spannung L1"
#define D_Spannung_L2 "Spannung L2"
#define D_Spannung_L3 "Spannung L3"
#define D_METERNR "Zähler Nr"
#define D_METERSID "Service ID"
#define D_GasIN "Zählerstand" // Gas-Verbrauch
#define D_H2oIN "Zählerstand" // H2o-Verbrauch
#define D_StL1L2L3 "Ströme L1+L2+L3"
#define D_SpL1L2L3 "Spannung L1+L2+L3/3"
#else
// alle anderen Sprachen
#define D_TPWRIN "Total-In"
#define D_TPWROUT "Total-Out"
#define D_TPWRCURR "Current-In/Out"
#define D_TPWRCURR1 "Current-In p1"
#define D_TPWRCURR2 "Current-In p2"
#define D_TPWRCURR3 "Current-In p3"
#define D_Strom_L1 "Current L1"
#define D_Strom_L2 "Current L2"
#define D_Strom_L3 "Current L3"
#define D_Spannung_L1 "Voltage L1"
#define D_Spannung_L2 "Voltage L2"
#define D_Spannung_L3 "Voltage L3"
#define D_METERNR "Meter_number"
#define D_METERSID "Service ID"
#define D_GasIN "Counter" // Gas-Verbrauch
#define D_H2oIN "Counter" // H2o-Verbrauch
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
#endif
// JSON Strings besser NICHT übersetzen
// max 23 Zeichen
#define DJ_TPWRIN "Total_in"
#define DJ_TPWROUT "Total_out"
#define DJ_TPWRCURR "Power_curr"
#define DJ_TPWRCURR1 "Power_p1"
#define DJ_TPWRCURR2 "Power_p2"
#define DJ_TPWRCURR3 "Power_p3"
#define DJ_CURR1 "Curr_p1"
#define DJ_CURR2 "Curr_p2"
#define DJ_CURR3 "Curr_p3"
#define DJ_VOLT1 "Volt_p1"
#define DJ_VOLT2 "Volt_p2"
#define DJ_VOLT3 "Volt_p3"
#define DJ_METERNR "Meter_number"
#define DJ_METERSID "Meter_id"
#define DJ_CSUM "Curr_summ"
#define DJ_VAVG "Volt_avg"
#define DJ_COUNTER "Count"
struct METER_DESC {
uint8_t srcpin;
uint8_t type;
uint16_t flag;
uint16_t params;
char prefix[8];
};
// Zählerliste , hier neue Zähler eintragen
//=====================================================
/* #define EHZ161_0 1
#define EHZ161_1 2
#define EHZ363 3
#define EHZH 4
#define EDL300 5
#define Q3B 6
#define COMBO3 7
#define COMBO2 8
#define COMBO3a 9
#define Q3B_V1 10
#define EHZ363_2 11
#define COMBO3b 12
#define WGS_COMBO 13
#define EBZD_G 14 */
#define EHZ363_2_TEST 15
// diesen Zähler auswählen
#define METER EHZ363_2_TEST
//=====================================================
// ...
#if METER==EHZ363_2_TEST
#define METERS_USED 2
struct METER_DESC const meter_desc[METERS_USED]={
[0]={4,'s',0,SML_BAUDRATE,"SML1"},
[1]={3,'s',0,SML_BAUDRATE,"SML2"}
};
// 2 Richtungszähler EHZ SML 8 bit 9600 baud, binär
const uint8_t meter[]=
"1,=h --- Zähler Nr 1 - Allg---|"
//0x77,0x07,0x01,0x00,0x01,0x08,0x00,0xff
"1,77070100010800ff@1000," D_TPWRIN ",KWh," DJ_TPWRIN ",4|"
//0x77,0x07,0x01,0x00,0x02,0x08,0x00,0xff
"1,77070100020800ff@1000," D_TPWROUT ",KWh," DJ_TPWROUT ",4|"
//0x77,0x07,0x01,0x00,0x10,0x07,0x00,0xff
"1,77070100100700ff@1," D_TPWRCURR ",W," DJ_TPWRCURR ",0|"
//0x77,0x07,0x01,0x00,0x00,0x00,0x09,0xff
"1,77070100000009ff@#," D_METERNR ",," DJ_METERNR ",0|"
// 2 Richtungszähler EHZ SML 8 bit 9600 baud, binär
"2,=h --- Zähler Nr 2 - Wärmepumpe ---|"
//0x77,0x07,0x01,0x00,0x01,0x08,0x00,0xff
"2,77070100010800ff@1000," D_TPWRIN ",KWh," DJ_TPWRIN ",4|"
//0x77,0x07,0x01,0x00,0x02,0x08,0x00,0xff
"2,77070100020800ff@1000," D_TPWROUT ",KWh," DJ_TPWROUT ",4|"
//0x77,0x07,0x01,0x00,0x01,0x08,0x01,0xff
"2,77070100010801ff@1000," D_TPWRCURR1 ",KWh," DJ_TPWRCURR1 ",4|"
//0x77,0x07,0x01,0x00,0x01,0x08,0x02,0xff
"2,77070100010802ff@1000," D_TPWRCURR2 ",KWh," DJ_TPWRCURR2 ",4|"
//0x77,0x07,0x01,0x00,0x10,0x07,0x00,0xff
"2,77070100100700ff@1," D_TPWRCURR ",W," DJ_TPWRCURR ",0|"
//0x77,0x07,0x01,0x00,0x00,0x00,0x09,0xff
"2,77070100000009ff@#," D_METERNR ",," DJ_METERNR ",0";
#endif
// ...
Alles anzeigen
Interessanterweise steht beim kompilieren, dass er die Version 2.3.0 nutzt, nicht 2.3.1. Das steht allerdings auch in der library.json im Ordner TasmotaSerial-2.3.1.
Ich freue mich über alle Tipps und Ideen, wo ich meinen Denkfehler habe.
Beste Grüße
Wiese
Hallo Wiese66,
es gibt doch ein Beispiel mit zwei Stromzählern in der xsns_95_sml.ino:
//=====================================================
#if METER==COMBO2
// 2 Zähler Beispiel
#define METERS_USED 2
struct METER_DESC const meter_desc[METERS_USED]={
[0]={3,'o',0,SML_BAUDRATE,"OBIS1"}, // harware serial RX pin
[1]={14,'o',0,SML_BAUDRATE,"OBIS2"}}; // GPIO14 software serial
// 2 Zähler definiert
const uint8_t meter[]=
"1,1-0:1.8.1*255(@1," D_TPWRIN ",KWh," DJ_TPWRIN ",4|"
"1,1-0:2.8.1*255(@1," D_TPWROUT ",KWh," DJ_TPWROUT ",4|"
"1,=d 2 10 @1," D_TPWRCURR ",W," DJ_TPWRCURR ",0|"
"1,1-0:0.0.0*255(@#)," D_METERNR ",," DJ_METERNR ",0|"
"2,1-0:1.8.1*255(@1," D_TPWRIN ",KWh," DJ_TPWRIN ",4|"
"2,1-0:2.8.1*255(@1," D_TPWROUT ",KWh," DJ_TPWROUT ",4|"
"2,=d 6 10 @1," D_TPWRCURR ",W," DJ_TPWRCURR ",0|"
"2,1-0:0.0.0*255(@#)," D_METERNR ",," DJ_METERNR ",0";
#endif
//=====================================================
Alles anzeigen
hast du damit schon mal getestet ?, natürlich dann mit deinem Zähler.
Bezüglich des Treibers 2.3.0 oder 2.3.1 ist jetzt immer der 2.3.1 erforderlich.
Dieser ist im Ordner "\lib"dann TasmotaSerial-2.3.1 muss auch in deinem Programm in dem entsprechendem Ordner vorhanden sein.
Bei mir: mit Arduino IDE im Ordner: "libraries"
Hier scheint auch was falsch zu sein:
struct METER_DESC const meter_desc[METERS_USED]={
[0]={4,'s',0,SML_BAUDRATE,"SML1"},
[1]={3,'s',0,SML_BAUDRATE,"SML2"}
};
Da darf nur "SML" stehen, ohne Zahlen.
Hallo meierchen006,
vielen Dank für deine schnelle Antwort und Hinweise!
Bezüglich des Treibers 2.3.0 oder 2.3.1 ist jetzt immer der 2.3.1 erforderlich.
Dieser ist im Ordner "\lib"dann TasmotaSerial-2.3.1 muss auch in deinem Programm in dem entsprechendem Ordner vorhanden sein.
Bei mir: mit Arduino IDE im Ordner: "libraries"
Das stimmt und ist bei mir auch so. Mein Hinweis war, dass in der libraries.json-Datei in diesem Ordner bei mir in der Datei ein Eintrag ""version": "2.3.0"," hinterlegt ist. Habe es aber gerade im gemu Repository noch einmal geprüft. Steht dort auch so.
ZitatAlles anzeigenHier scheint auch was falsch zu sein:
struct METER_DESC const meter_desc[METERS_USED]={
[0]={4,'s',0,SML_BAUDRATE,"SML1"},
[1]={3,'s',0,SML_BAUDRATE,"SML2"}
};
Da darf nur "SML" stehen, ohne Zahlen.
Das war einer meiner letzten Tests. Vorher war bei beiden "SML". Ich verstehe die Beschreibung hierzu aber so, dass es der Bezeichner in den MQTT-Nachrichten ist und daher auch theoretisch umbenannt werden darf.
Zitates gibt doch ein Beispiel mit zwei Stromzählern in der xsns_95_sml.ino:
Das war die Grundlage für meine Einstellungen. Verschiedene Ports/Pins habe ich schon ausprobiert. Auch die Reihenfolge geändert (war in diesem Thread mal ein Hinweis). Die Zähler werden auf der Webseite auch beide aufgelistet.
Was mich so wundert ist, dass ich im Log-Fenster keine Telegramme vom SW-Pin sehe, wenn ich ihn per Kabel direkt auf GND oder 3.3v ziehe/toggle.
Grüße
Wiese
Hallo Wiese66,
nimm immer als ersten Zähler die echte serielle Schnittstelle. (mit Pullup ca 4,7k)
wenn dann der Zähler in der Konsole Daten liefert mit sensor95 d1 , ok
dann verbinde denselben Eingang mit dem 2. Zähler GPIO (noch keinen Pullup hier) und gehe auf sensor95 d2
du solltest jetzt auch hier Daten sehen. (es nutz gar nichts den Pin and GND oder VCC zu legen, damit bekommst du keine Daten)
erst wenn das für beide pins klappt, kannst du die weiteren Definitionen überprüfen.
Gruß
gemu2015
Alles anzeigenHallo Wiese66,
nimm immer als ersten Zähler die echte serielle Schnittstelle. (mit Pullup ca 4,7k)
wenn dann der Zähler in der Konsole Daten liefert mit sensor95 d1 , ok
dann verbinde denselben Eingang mit dem 2. Zähler GPIO (noch keinen Pullup hier) und gehe auf sensor95 d2
du solltest jetzt auch hier Daten sehen. (es nutz gar nichts den Pin and GND oder VCC zu legen, damit bekommst du keine Daten)
erst wenn das für beide pins klappt, kannst du die weiteren Definitionen überprüfen.
Gruß
gemu2015
Hallo gemu2015,
an der Stelle erst einmal vielen Dank für deine Arbeit und den tollen Support, den du u.a. hier leistest!
Dein beschriebenes Vorgehen enstpricht ziemlich genau meinen Tests. Allerdings hatte ich keine Beschreibung über die sensor95 d[123] Befehle gefunden.
Daher hatte ich mir auch nichts dabei gedacht, dass bei "sensor95 d2" immer ein harter Neustart des Wemos auftritt. D1 und D3 z.B. funktionieren und geben die Bits von RX in verschiedenen Formaten aus.
Nach dem Neustart habe ich im Log:
17:19:36 MQT: tele/sonoff/INFO1 = {"Module":"Generic","Version":"6.5.0.16(sonoff)","FallbackTopic":"cmnd/DVES_2FDF7B_fb/","GroupTopic":"sonoffs"}
17:19:36 MQT: tele/sonoff/INFO2 = {"WebServerMode":"Admin","Hostname":"sonoff-8059","IPAddress":"192.168.x.x"}
17:19:36 MQT: tele/sonoff/INFO3 = {"RestartReason":"Fatal exception:28 flag:2 (EXCEPTION) epc1:0x402103d6 epc2:0x00000000 epc3:0x00000000 excvaddr:0x00000000 depc:0x00000000"}
Beste Grüße
Wiese
Daher hatte ich mir auch nichts dabei gedacht, dass bei "sensor95 d2" immer ein harter Neustart des Wemos auftritt. D1 und D3 z.B. funktionieren und geben die Bits von RX in verschiedenen Formaten aus.
Nach dem Neustart habe ich im Log:
Code17:19:36 MQT: tele/sonoff/INFO1 = {"Module":"Generic","Version":"6.5.0.16(sonoff)","FallbackTopic":"cmnd/DVES_2FDF7B_fb/","GroupTopic":"sonoffs"} 17:19:36 MQT: tele/sonoff/INFO2 = {"WebServerMode":"Admin","Hostname":"sonoff-8059","IPAddress":"192.168.x.x"} 17:19:36 MQT: tele/sonoff/INFO3 = {"RestartReason":"Fatal exception:28 flag:2 (EXCEPTION) epc1:0x402103d6 epc2:0x00000000 epc3:0x00000000 excvaddr:0x00000000 depc:0x00000000"}
Ok. Kommando zurück
Nach deinem Hinweis bin ich alles noch einmal durch. Habe ein "reset 5" auf dem ESP durchgeführt. Neu geflasht und nun scheint es keinen Absturz bei "d2" mehr zu geben. Mit Pullup kamen auch ein paar Bits durch das "Kabel toggeln" an.
Werde gleich weiter testen.
Nochmals vielen Dank!!
So Strom Zähler funzt soweit jetzt Gas und Wasser mit separatem Wemos.
Hardware mit zwei Reed Kontakten via 10 kOhm soweit fertig und funktionieren.
Test mit Magneten.
Was ich momentan suche ist wo stelle ich ein im prog.
Z. B mein Gaszähler. 1 imp = 0.1 m3. ??
Hallo Wolfi,
const uint8_t meter[]=
//----------------------------Wasserzähler--sensor95 c1------------------------------------
"1,1-0:1.8.0*255(@10000," D_H2oIN ",cbm," DJ_COUNTER ",4|"
10000 = Divisionsfaktor
4 = Anzeige der Stellen hinter dem "," komma
So Gas und Wasser mit separatem Wemos realsiert. Reedkontakt an D0 und D6
Funktionier bis zum Wepif super beide Werte werden angezeigt.
In FHEM aber wird zwar das MQTT2 device angelegt aber die beiden Readings Wert für Wasser und Strom fehlen!
Beim Stromzähler hat es doch auch funktioniert!
Was mache ich falsch oder habe ich vergessen.
Komme einfach nicht drauf.
Hallo Wolfi,
da kann ich dir leider nicht weiterhelfen, das sind Dinge die ich noch umsetzen möchte aber noch nicht getan habe.