Hi gemu
Alles klar , mach ich so
Danke dir
Lg
Hichi
Hi gemu
Alles klar , mach ich so
Danke dir
Lg
Hichi
HI,
Ich habe einen Script:
>D
>B
=>sensor53 r
>M 1
+1,3,s,0,9600,GS303,1,10,77070100010801ff620001621e52ff69000000002210475401,77070100010801ff620001621e52ff69000000002310475401
1,77070100010801ff@1000,Total Consumed,kWh,Total_in,3
#
Ich möchte die Rohdaten nochmal zusätzlich an GPIO 4 ausgeben.
An dem hängt noch ein Lesekopf, der die Daten nochmal senden soll.
Ich möchte das machen um einen Tasmota Lesekopf nutzen zu können, und die Daten an ein anders Messystem weiter zu geben.
Man könnte es natürlich auch Hardware technisch lösen, aber per Skript würde mir besser gefallen.
Ich habe verschiedene Sachen versucht, zuletzt hatte ich verucht einen zweiten Zähler anzulegen
+2,5,s,0,9600,test,4
und dann mit sml(1 2) die Rohdaten abzugreifen.
diese wollte Ich dann mit sml(m 1 htxt) senden.
aber Ich bekomme mit sml(1 2) keine Daten abgegriffen.
wenn Ich zb print %sml(1 2)% werden nur leere Zeilen geprintet.
Hat einer eine Idee wie Ich im Skript die SML Rohdaten abgreifen kann?
vielen Dank
lg
Hichi
HI,
Ja es läuft jetzt seit Montag durchgängig.
Am Anfang so ca 2-3 Lesefehler pro Stunde.
Aber mit Median Filter seit Dienstag keine Lesefehler.
lg
HIchi
Hi,
Ja es läuft. Das ist echt Klasse
Ich habe versucht deine Änderung nach zu vollziehen . Scheinbar wird jetzt statt ESP.getCycleCount(), micros() benutzt.
Ich mache jetzt eine Aufzeichnung, um mal zu schauen wieviele Lesefehler es gibt.
Vielen lieben dank schonmal, super gut
lg
Hichi
HI,
Danke für die ganzen Infos gemu2015
Schade das es nicht geht.
Ich habe noch eine Verständniss Frage.
Laut Datenblatt sind Gpio 20/21 die Hardware Uart Gpios
https://www.espressif.com/sites/default/files/documentation/esp32-c3-mini-1_datasheet_en.pdf
Über den zweiten Hardware Uart finde Ich nichts im Datenblatt.
Scheinbar ist der frei wählbar und daher geht es entweder mit gpio 4/5 oder mit 3/1 aber nie mit allen 3 gleichzeitig.
Die Kombination 4/5 und 3/1 funktioniert ja auch ohne die im Datenblatt angegebenen Gpio 20/21.
lg
Hichi
HI,
Ich hab die 13.1 geflasht und nochmal alles getestet.
Es ist leider das selber Ergebniss wie mit der 13.4
lg
Hichi
HI,
Ich muss doch nochmal fragen,
Ich hab nun die 13.4 drauf.
2 Leseköpfe funktionieren.
Das Ziel sind allerdings 3 Leseköpfe.
Das Problem ist das Ich in den dritten Slot nie was rein bekomme,
Hier bei ANNE:
PV Zählerstand Verb. 2020.00 kWh
PV Zählerstand Einsp. 0.00 kWh
==================
FLUR Zählerstand Verb. 300.00 kWh
FLUR Zählerstand Einsp. 0.00 kWh
==================
ANNE Zählerstand Verb. 0.00 kWh
ANNE Zählerstand Einsp. 0.00 kWh
Dazu der Skript:
>D
>B
->sensor53 r
>M 3
+1,4,s,0,9600,PV,5
+2,20,s,0,9600,FLUR,21
+3,3,s,0,9600,ANNE,1
1,77070100010800FF@1000,Zählerstand Verb.,kWh,Tariflos1,2
1,77070100020800FF@1000,Zählerstand Einsp.,kWh,Tariflos,2
2,=h==================
2,77070100010800FF@1000,Zählerstand Verb.,kWh,Tariflos1,2
2,77070100020800FF@1000,Zählerstand Einsp.,kWh,Tariflos,2
3,=h==================
3,77070100010800FF@1000,Zählerstand Verb.,kWh,Tariflos1,2
3,77070100020800FF@1000,Zählerstand Einsp.,kWh,Tariflos,2
#
Alles anzeigen
Je nachdem wie Ich die GPIOS ändere bekomme Ich andere anzeigen.
zb:
PV Zählerstand Verb. 38.00 kWh
PV Zählerstand Einsp. 6819.00 kWh
==================
FLUR Zählerstand Verb. 300.00 kWh
FLUR Zählerstand Einsp. 0.00 kWh
==================
ANNE Zählerstand Verb. 0.00 kWh
ANNE Zählerstand Einsp. 0.00 kWh
mit dieser Reihenfolge:
Aber egal wie Ich es sonst drahe bekomme Ich nur noch eine Zeile zb:
PV Zählerstand Verb. 38.00 kWh
PV Zählerstand Einsp. 6819.00 kWh
==================
FLUR Zählerstand Verb. 0.00 kWh
FLUR Zählerstand Einsp. 0.00 kWh
==================
ANNE Zählerstand Verb. 0.00 kWh
ANNE Zählerstand Einsp. 0.00 kWh
mit dieser Reihenfolge:
Wenn Ich Software Serial Verwende, füllt Sich der dritte Slot, aber dann der zweite nicht:
PV Zählerstand Verb. 38.00 kWh
PV Zählerstand Einsp. 6819.00 kWh
==================
FLUR Zählerstand Verb. 0.00 kWh
FLUR Zählerstand Einsp. 0.00 kWh
==================
ANNE Zählerstand Verb. 300.00 kWh
ANNE Zählerstand Einsp. 0.00 kWh
Ich bekomme Es einfach nicht hin das Alle Slots gefült werden.
lg
Hichi
Hi,
Mit der 13.1 funktioniert es auch. Das reicht mir erstmal.
#define USE_ESP32_SW_SERIAL - Das habe Ich mit der 13.3 getestet, funktioniert aber leider nicht.
Die developer Version lies sich grade nicht auf Anhieb kompillieren, Ich versuche das heute Abend noch mal.
Vielen Dank für die ganze Hilfe
lg
Hichi
HI,
Das Komma habe Ich weg gemacht
12.3.1 funktioniert
13.2.0 funktioniert nicht
13.3.0 funktioniert nicht
Der GPIO kann Ich leider nicht so einfach ändern, das ist eine fertiges PCB.
Apator Zähler sind das, Der Skript passt so zu den Zählern.
lg
Hichi
HI,
Ich Habe grade mal eine 12.3.1 eingespielt, damit funktioniert es.
lg
Hichi
HI,
Ich habe einen ESP32 c3 mini.
2 Leseköpfe, einer an Gpio 3, einer an 4
Wenn Ich das Skirpt so mache:
>D
>B
->sensor53 r
>M 2
+1,4,s,0,9600,Haus,
+2,3,s,0,9600,H,
1,770701000F0700FF@1,Aktuell,W,Power_curr,0
1,77070100010800FF@1000,Zählerstand Verb.,kWh,Tariflos,2
1,77070100020800FF@1000,Zählerstand Einsp.,kWh,Tariflos,2
2,=h==================
2,770701000F0700FF@1,Aktuell,W,Power_curr,0
2,77070100010800FF@1000,Zählerstand Verb.,kWh,Tariflos,2
2,77070100020800FF@1000,Zählerstand Einsp.,kWh,Tariflos,2
#
Alles anzeigen
Bekomme Ich diese Anzeige:
Haus Zählerstand Verb. 280.00 kWh
Haus Zählerstand Einsp. 0.00 kWh
==================
H Aktuell 0 W
H Zählerstand Verb. 0.00 kWh
H Zählerstand Einsp. 0.00 kWh
280kwh, das ist der Wert von dem Lesekopf an Gpio 4. Also der erste Kopf
Ändere Ich den Skript so:
>D
>B
->sensor53 r
>M 2
+1,3,s,0,9600,Haus,
+2,4,s,0,9600,H,
1,770701000F0700FF@1,Aktuell,W,Power_curr,0
1,77070100010800FF@1000,Zählerstand Verb.,kWh,Tariflos,2
1,77070100020800FF@1000,Zählerstand Einsp.,kWh,Tariflos,2
2,=h==================
2,770701000F0700FF@1,Aktuell,W,Power_curr,0
2,77070100010800FF@1000,Zählerstand Verb.,kWh,Tariflos,2
2,77070100020800FF@1000,Zählerstand Einsp.,kWh,Tariflos,2
#
Alles anzeigen
Bekomme Ich diese Anzeige:
Haus Zählerstand Verb. 34.00 kWh
Haus Zählerstand Einsp. 6489.00 kWh
==================
H Aktuell 0 W
H Zählerstand Verb. 0.00 kWh
H Zählerstand Einsp. 0.00 kWh
Ich habe die Gpios im Skript getauscht, nun bekomme Ich die Anzeige von dem Lesekopf an Gpio 3.
Das zeigt das die Verdrahtung ok ist.
Es kommen immer nur die Werte vom Lesekopf der grade bei +1, eingetragen ist.
Aber die Werte von +2, bekomme Ich nicht.
Ein dump mit sensor53 d2 bringt auch keine Werte.
Der dump mit sensor53 d1 bringt immer die Werte von dem Kopf der an dem Gpio hängt welcher grade im Skript eingetragen ist.
Auf einen ESP8266 hatte Ich es schon öfters mal mit 2 gemacht.
Ich nutzte Tasmota 13.2.0 by Theo Arends
Selber compilliert mit Visual Studio.
Hat einer einen Vorschlag was Ich testen könnte, damit beide gleichzeitig funktionieren?
lg
Hichi
Hi,
Vielen lieben dank für deine schnelle Hilfe.
Es scheint Astrein zu funktionieren.
Hier mein Skript für andere :
>D
scnt=0
res=0
>B
=>sensor53 r
>F
; count 100ms
scnt+=1
switch scnt
;100ms after start: set sml driver to 300 baud
case 1
res=sml(1 0 300)
;1600ms send /#1 as HEX to trigger
case 16
res=sml(1 1 "2F23310D0A")
;2200ms later: switch sml driver to 1200 baud
case 22
res=sml(1 0 1200)
;1000ms after start: Restart sequence
case 100
scnt=0
ends
>M 1
+1,3,o,0,1200,MC401,1
1,@s 0:1,Gesammt Verbrauch,kwh,total_in,0
1,@s 1:100,Gesammt Durchfluss,m3,total_flow,2
1,@s 2:1,Laufzeit,h,time,0
1,@s 3:100,Vorlauf Temperatur,C°,temp_in,2
1,@s 4:100,Rücklauf Temperatur,C°,temp_out,2
1,@s 5:100,Temperatur differenz,C°,delta_t,2
1,@s 6:10,Aktuelle Leistung,kW,power,1
1,@s 7:1,Durchlfuss,l/h,flow,0
1,@s 8:10,maximale Leistung,kWP,max_power,1
1,@s 9:1,Info,,info,0
1,=so3,256
#
Alles anzeigen
In dieser Tasmota Version sind die notwendigen Änderungen von gemu2015 für den Multical 401 und wahrscheinlich auch andere Kampstrump Zähler
vielen dank nochmal
lg
Hichi
Hi,
Ich hole das Thema nochmal hoch.
Ich habe jetzt auch ein Multical 401
das Skript läuft soweit das Daten kommen
>D
scnt=0
res=0
>B
=>sensor53 r
>F
; count 100ms
scnt+=1
switch scnt
;100ms after start: set sml driver to 300 baud
case 1
res=sml(1 0 300)
;160ms later send /?! as HEX to trigger the Meter
case 16
res=sml(1 1 "2F23310D0A")
;220ms later: switch sml driver to 9600 baud
case 22
res=sml(1 0 1200)
;5000ms after start: Restart sequence
case 50
scnt=0
ends
>M 1
+1,3,o,0,1200,AS1440,1
1,0:98.1.0(@(0:1,Havi adat, kWh,havi1,3`
#
Alles anzeigen
Das Timing war etwas problematisch. Das hat eine Weile gedauert bis Daten kamen,
Ein Problem war zum Beispiel wenn Ich wie herkömmlich so mache:
dann kommt nichts zurück, es geht nur wenn Ich eine kleine Zeit zwischen diesen beiden Aktionen lasse. Also wie oben im Skript.
Das hab Ich jetzt ein paar mal hin und her getestet.
Jetzt bekomme Ich aber sauber diese Daten:
03:49:20.940 : 0134504 1731675 0000035 0005684 0003169 0002515 0000074 0000255 0000069 0000000
Das sind 10 unterschiedliche Werte.
Jeweils 7 Stellen und durch ein Leerzeichen getrennt.
Die Werte stimmen mit denen auf dem Multical überein.
Jetzt habe Ich aber noch das parsing Problem.
Die Werte sind halt anders als bei anderen Zählern alle in einer Zeile und haben keine Kennungen nach denen man suchen könnte.
Ich habe hin und her versucht, aber Ich bekomme die Werte nicht in Einzelne Variablen.
Hat eventuell einer eine Idee wie sich die Werte parsen lassen?
lg
Hichi
Ok,
Ich muss mal schauen ob einer meiner Freunde einen Desktop PC mit Wlan hat. Dann werde ich das mal testen.
Du hast nicht zufällig einen Windows Laptop.
Das du mal damit probieren könntest ob du dich mit dem Wlan des ESP verbinden kannst und die 192.168.4.1 aufrufen kannst?
lg
Hichi
Ich hab es mit deiner Version versucht.
Bewirkt aber keine Änderung bei mir.
Es bleibt dabei
Der ESP macht einen AP
Mit dem Android Handy kann ich mich mit dem AP verbinden.
Mit 4 unterschiedlichen Windows Laptops geht es nicht.
Es geht wie gesagt nur um den AP.
Wenn der ESP mit meinem WLAN verbunden ist komme ich mit allen Geräten auf das Webinterface.
Womit hast du dich mit dem AP verbunden? mit einem Laptop oder Desktop PC?
Die Stromversorgung habe ich überprüft. Es hängt an einem Labornetzteil mit ausreichend StützKondensatoren.
lg
Hichi
Auf die webgui komme ich auch mit Windows.
Versuch Mal mit Windows dich mit dem AP zu verbinden und dann die 192.168.4.1 zu öffnen
LG
Hichi
Mit dem bestellten Dev Board ist es genau das selbe.
geht auch nicht
lg
Hichi
Hi,
Es ist ein c3 Mini 1
https://www.espressif.com/sites/default/files/documentation/esp32-c3-mini-1_datasheet_en.pdf
Ich habe den auf einer selbst erstellten Platine.
Siehe Anhang.
Ich habe zum testen jetzt mal so ein fertiges Board bestellt:
Das kommt vllt noch diese Woche wenn ich Glück habe.
Eventuell liegt es auch an der Version von dem Board. es gibt wohl verschiedene Rev. so wie ich gelesen habe.
Wenn du möchtest, schick mir deine Adresse per PN, dann schicke ich dir ein paar von meinen Boards zum testen.
lg
Hichi
Mit ftdi:
Writing at 0x001733d5... (100 %)
Wrote 1475504 bytes (932728 compressed) at 0x00010000 in 27.3 seconds (effective 433.1 kbit/s)...
Hash of data verified.
Leaving...
Hard Resetting...
Hard resetting via RTS pin...
Done! Flashing is complete!
Showing logs:
{hier kam nichts mehr und ich habe den esp neugestartet}
[10:44:20]ESP-ROM:esp32c3-api1-20210207
[10:44:20]Build:Feb 7 2021
[10:44:20]rst:0x1 (POWERON),boot:0xd (SPI_FAST_FLASH_BOOT)
[10:44:20]SPIWP:0xee
[10:44:20]mode:DOUT, clock div:1
[10:44:20]load:0x3fcd6100,len:0x38c
[10:44:21]load:0x403ce000,len:0x6a8
[10:44:21]load:0x403d0000,len:0x2358
[10:44:21]SHA-256 comparison failed:
[10:44:21]Calculated: 81622325b5b3d82bf48506f210cd42cc4a45185255565a883ae891633570c8f5
[10:44:21]Expected: bef5af017887fc9f8b85cdc8d157e714dd15305a39a5b8a4fc8312b760075a67
[10:44:21]Attempting to boot anyway...
[10:44:21]entry 0x403ce000
[10:44:21]
[10:44:21]00:00:00.001 HDW: ESP32-C3
[10:44:21]./components/esp_littlefs/src/littlefs/lfs.c:1071:error: Corrupted dir pair at {0x0, 0x1}
[10:44:22]00:00:00.440 UFS: FlashFS mounted with 312 kB free
[10:44:22]00:00:00.442 CFG: Use defaults
[10:44:22]00:00:00.549 QPC: Reset
[10:44:22]00:00:00.577 BRY: Berry initialized, RAM used=4203 bytes
[10:44:22]00:00:00.590 Project tasmota - Tasmota Version 12.0.2(tasmota)-2_0_3(2022-06-20T12:41:30)
[10:44:23]00:00:00.859 WIF: WifiManager active for 3 minutes
[10:44:23]00:00:01.055 HTP: Web server active on tasmota-66C4B4-1204 with IP address 192.168.4.1
Hier habe ich über das eingebaute USB vom ESP32 c3 mini1 geflasht, also ohne FTDI, dann kommt das:
Leaving...
Hard Resetting...
Hard resetting via RTS pin...
Done! Flashing is complete!
Showing logs:
[10:55:15]./components/esp_littlefs/src/littlefs/lfs.c:1071:error: Corrupted dir pair at {0x0, 0x1}
Das verhalten ist nach beiden flash arten das selbe
lg
Hichi
Hi,
Genau so habe ich es zu Anfang gemacht.
Ich habe den Flasher und die bin nun nochmal runter geladen.
5 ESP geflasht.
Bleibt aber leider beim gleichen.
Mit 4 Windows Laptops versucht. Keiner kann sich verbinden.
Hier scheint das selbe Problem diskutiert zu werden:
lg
Hichi