Beiträge von gerhardh

    OK, die Kuh ist vom Eis !

    karoCB war auf dem richtigen Weg!

    IR-Leser, die von alleine ihre Werte ausgeben, brauchen nur per RX an einen GPIO angeschlossen zu werden und sie plappern los.

    IR-Leser aber, die erst per Initialisierungssequenz zur Übermittlung ihrer Daten "animiert" werden müssen, bedürfen einer bidirektionalen Kommunikation.

    Und dazu ist das Anschließen und Übergeben der entsprechenden GPIO-Nummern im Skript erforderlich. Und zwar für jeden der zu animierenden Leser.

    Somit benötigte ich in meinem Fall zum Anschluss von 4 Zählern 6 GPIOs. Nun läuft es.

    Danke nochmals für die Unterstützung !

    Grüße

    Gerhard

    karoCB

    Ja, eigentlich hast Du recht. Ist von hinten durch die Brust ins Auge.

    Hinzu kommt, dass man in einem Schaltschrank mit Metalltüren (wo die Zähler hängen) keinen guten WLAN-Empfang hat. Also: Ethernet.

    Der WT32-ETH01 aber ist ein so störrisches Teil, bei dem es kaum möglich ist, das Ethernet zum Laufen zu bekommen und der auch schon beim Flashen sehr sperrig ist. Ansonsten wäre das Teil ideal. Aber auch hier bin ich mir bezüglich der in Frage kommenden GPIOs nicht sicher.

    In einigen Beschreibungen wird empfohlen, die GPIOs mit Widerständen zu versehen. Ich habe erstmal alle RX-Pins einfach an die GPIOs gehängt - wahrscheinlich war das falsch. Die SML-Zähler laufen so, vielleicht aber brauchen die OBIS-Zähler eine RX-TX Kommunikation (wegen der Initialisierung) und dazu müssen man auch die als "optional" angegebenen TX-Pins auch noch anschließen.

    Ich denke, ich werde mich mit dem Thema nochmals intensiv auseinandersetzen müssen.

    Wenn ich nicht weiterkomme, würde ich mich dann gerne nochmal melden - wenn ich darf.

    Grüße

    Gerhard :)

    Danke für die Antwort.

    Soweit ich das aber sehe, sind die Angaben zu "TX" optional, d.h. für mich "entbehrlich". Oder sehe ich das falsch ?

    Zitat: "The GPIO pin number where meter command is transmitted (optional)."

    Das oben aufgelistete zweite Skript für den A 1350 läuft ja so und bringt Werte:

    Auch das erste Skript läuft, allerdings werden nur die Werte der "SML"-Zähler gelesen.

    Vielleicht müssen ja wirklich auch TX-Pins angegeben werden. Aber dann werden die GPIOs des WEMOS D1 mini knapp...

    Nur einer der Elster geht mit:

    >D

    scnt=0

    res=0

    >B

    =>sensor53 r

    >F

    ; count 100ms

    scnt+=1

    switch scnt

    ;300ms after start: set sml driver to 300 baud and send /?! as HEX to trigger the Meter

    case 3

    res=sml(1 0 300)

    res=sml(1 1 "2F3F210D0A")

    ;1700ms later: Ack and ask for switching to 9600 baud

    case 20

    res=sml(1 1 "063035300D0A")

    ;300ms later: switch sml driver to 9600 baud

    case 23

    res=sml(1 0 9600)

    ;6000ms after start: Restart sequence

    case 60

    scnt=0

    ends

    >M 1

    +1,3,o,0,9600,A1350,1

    1,1.8.1(@1,Nachtkauf_181,kWh,Nachtkauf,16

    1,1.8.2(@1,Tagkauf_182,kWh,Tagkauf,16

    1,2.8.1(@1,Nachtverkauf_281,kWh,Nachtverkauf,16

    1,2.8.2(@1,Tagverkauf_282,kWh,Tagverkauf,16

    #

    Kann durchaus sein, dass die GPIOs das Problem sind.

    Ich hatte mich bei der Auswahl an folgende Liste gehalten:

    Gruß Gerhard

    Hallo allerseits,

    vielleicht kann mir jemand bei einer etwas besonderen Konstellation helfen.

    Habe einen wemos d1 mini mit dem speziellen Tasmota geflasht. Ich will 4 Zähler anschließen (5 ist ja wohl das Maximum).

    2 Zähler sind SML ansprechbar, 2 mit OBIS. Bei diesen beiden letztgenannten Zählern (Elster E1350) ist das Übertragen einer Startsequenz erforderlich, um sie zum Übermitteln der Daten anzuregen.

    Die SML-Zähler laufen einwandfrei, die Elster klappen nicht.

    Ich verwende das folgende Skript:

    ————————————————————————————————-

    >D

    scnt=0

    res=0

    >B

    =>sensor53 r

    >F

    ; count 100ms

    scnt+=1

    switch scnt

    ;500ms after start: set sml driver to 300 baud and send /?! as HEX to trigger the Meter

    case 5

    res=sml(2 0 300)

    res=sml(2 1 „2F3F210D0A“)

    res=sml(4 0 300)

    res=sml(4 1 „2F3F210D0A“)

    ;1700ms later: Ack and ask for switching to 9600 baud

    case 22

    res=sml(2 1 „063035300D0A“)

    res=sml(4 1 „063035300D0A“)

    ;300ms later: switch sml driver to 9600 baud

    case 25

    res=sml(2 0 9600)

    res=sml(4 0 9600)

    ;6000ms after start: Restart sequence

    case 60

    scnt=0

    ends

    >M 4

    +1,4,s,0,9600,

    ; GPIO4 = D2

    1,=h===============

    1,=hUeberschuss nur BHKW:

    1,=h(ISKRA 6692 Z2)

    1,=h===============

    1,77070100010800ff@1000,Bezug_BHKW_180,KWh,180,3

    1,77070100020800ff@1000,Lieferung_BHKW_280,KWh,Total_out,3

    1,=h===============

    +2,5,o,0,9600,A1350,1

    ; GPIO5 = D1

    2,1.8.1(@1,Nachtkauf_181,kWh,Nachtkauf,16

    2,1.8.2(@1,Tagkauf_182,kWh,Tagkauf,16

    2,2.8.1(@1,Nachtverkauf_281,kWh,Nachtverkauf,16

    2,2.8.2(@1,Tagverkauf_282,kWh,Tagverkauf,16

    2,=h===============

    2,=hPV Erzeugung:

    2,=h(ISKRA 6691 Z3)

    2,=h===============

    +3,12,s,0,9600,

    ; GPIO12 = D6

    3,77070100010800ff@1000,Bezug_PV_180,KWh,Bezug,3

    3,77070100020800ff@1000,Lieferung_PV_280,KWh,Lieferung,3

    3,=h===============|

    +4,14,o,0,9600,A1350,1

    ; GPIO14 = D5

    4,2.8.0(@1,Erzeugung BHKW,KWh,Erzeugung BHKW,16

    #

    ——————————————————————————————————–

    Vermutlich ist die Initialisierungssequenz (die noch dazu an 2 Zähler gesendet wird) der Knackpunkt.

    Wenn man EINEN Elster-Zähler mit einer Initialisierung anspricht, klappt das übrigens. Das heißt, die Zähler übermitteln Daten. Also muss es an meinem Skript liegen.

    Was ist falsch ? Kennt jemand die Lösung ??

    Grüße

    Gerhard