Beiträge von gemu2015

    Hallo Jens,


    gib das Kommando z.B. script 1 in der Konsole an. In Iobroker Sonoff zuvor auf Autogenerate stellen.


    Dann wird die Variable script in iobroker automatisch erzeugt.


    im Tasmota script die Variablen definieren

    >D

    temp1=0

    temp2=0


    dann in iobroker javascript die Variablen setzen mit z.B.

    setState('sonoff.0.RA8876.Script','>temp1=20.3;temp2=27.2');


    AingTii


    habe jetzt die email auf core pre 2.6 am Laufen indem ich die Light TLS Library verwende. das mailen sollte jetzt sehr viel weniger Ram brauchen.

    muss noch ermitteln wieviel ram genau man braucht.


    da das mailen auf den älteren cores wegen ram Mangel kaum Sinn macht habe ich die Unterstützung dafür rausgenommen.

    ok, das reicht dann definitiv nicht.

    habe gerade mal einen Wemos mit 2.42, email und sh1106 geflasht und habe 22k frei.

    das würde knapp reichen.

    wenn du ein Farbdisplay nimmst hast du noch mal 1k mehr (das SW OLED braucht im Gegensatz zur Farbversion einen 1k Framespeicher)


    nimm doch das 128x128 Farb OLED (SSD1351 ca 15 Euro)


    mit dem core pre 2.6 hast du etwa 30k frei aber zur Zeit funktioniert email nur noch mit 2.42.


    (lief schon mal aber geht jetzt nicht mehr??)

    Also die Display Meldung ist schon mal richtig.


    das bedeutet auch das er ein i2c Gerät findet. Kannst du mit i2cscan noch mal überprüfen.


    die power hast du eingeschaltet ? (auf der Mainpage ON/Off)


    wenn du z.B. Displaytext Hallo in der Konsole eingibst kommt nichts ?

    merkwürdig, habs gerade noch mal probiert. geht bei mir.


    also was ist bei dir anders?


    wird denn überhaupt ein Event generiert ?

    guck mal ob es einen Event gibt.

    Versuchs auch mal mit der Konsole mit IPAddress



    >E

    print Event


    habe gerade noch eine Erweiterung eingebaut

    #define USE_SCRIPT_STATUS


    erlaubt auch die Abfrage aller Status Variablen

    dazu gibt es jetzt eine >U Sektion

    Hallo Jens,


    das ist die Summe der Treiber die IRAM verwenden. Ist kein Fehler sondern es summiert sich halt bis es zu viel wird.



    für sendmail folgendes einstellen


    am besten core pre 2.6 oder 2.42 (2.52 geht nicht)


    in user_config_overwrite


    folgende defines


    #define USE_SENDMAIL

    #define EMAIL_USER "user"

    #define EMAIL_PASSWORD "passwd"

    #define EMAIL_FROM "<mr.x@gmail.com>"

    #define EMAIL_SERVER "smtp.gmail.com"

    #define EMAIL_PORT 465


    dann die mail in der Konsole testen mit z.B.


    sendmail [*:*:*:*:*:<to@gmail.de>:test] Hallo wie gehts


    im script natürlich mit => davor



    man kann auch die obigen defines statt den Sternchen angeben aber so ist es kürzer


    man braucht mindestens ca 20k freies RAM dafür


    und durch TLS wird die binary deutlich grösser als normal


    sendmail geht nur mit einigen Providern wie z.B. gmail, yahoo die den Port 465 unterstützen und kein START_TLS brauchen (das geht nicht in Arduino TLS)

    Hallo kaennchen


    Sorry mein letzter post war ein Schnellschuss ohne es selbst auszuprobieren.


    durch die Rekursionssperre kann man solche Werte nicht abrufen.


    habe deshalb einen Befehl eingeführt mit dem man die Rekursionssperre umgehen kann.


    => normaler Kommandoaufruf mit Rekursionssperre

    +> Kommandoaufruf ohne Rekursionssperre

    -> Kommandoaufruf ohne Log und MQTT


    mit +> kann man jetzt also Tasmota Kommandos aufrufen die ein RESULT Event erzeugen.

    (aber Achtung darf niemals im Segment >E aufgerufen werden)


    also


    ; Strings auf 30 Zeichen, sonst passt ip nicht rein

    >D 30

    ip=""


    ; Ip anfordern

    >B

    +>IPAddress


    ; E wird direkt von obigem Befehl rekursiv aufgerufen

    >E

    ; ip Adress aus json kopieren

    ip=IPAddress1


    ; und anzeigen

    print %ip%

    Iram überlauf =>


    schalt mal alles aus was du nicht brauchst in user_config_overwrite


    ich schalte prinzipiell alles aus was ich nicht brauche, das macht ein viel schlankeres binary



    z.B.


    #undef USE_RULES

    #define USE_SCRIPT

    #define USE_SML_M


    // sonst möglichst alles ausschalten

    #undef USE_DISPLAY_MODES1TO5 // Enable display mode 1 to 5 in addition to mode 0

    #undef USE_DISPLAY_LCD

    #undef USE_DISPLAY_MATRIX

    #undef USE_LM75AD

    #undef USE_SHT // Add I2C emulating code for SHT1X sensor (+1k4 code)

    #undef USE_HTU // Add I2C code for HTU21/SI7013/SI7020/SI7021 sensor (+1k5 code)

    #undef USE_BME680 // Add additional support for BME680 sensor using Adafruit Sensor and BME680 libraries (+6k code)

    #undef USE_BH1750

    #undef USE_MHZ19

    #undef USE_SENSEAIR

    #undef USE_PMS5003

    #undef USE_IR_RECEIVE

    #undef USE_WS2812

    #undef USE_ARILUX_RF

    #undef USE_NOVA_SDS

    #undef USE_ENERGY_SENSOR

    #undef USE_DOMOTICZ

    #undef USE_HOME_ASSISTANT

    #undef USE_DISCOVERY

    #undef USE_DS18x20

    #undef USE_SERIAL_BRIDGE

    #undef USE_PZEM004T

    #undef USE_SHT3X

    #undef USE_SGP30

    #undef USE_SPS0

    #undef USE_SCD30

    #undef USE_MLX90614

    #undef USE_PZEM2

    #undef USE_RF_FLASH

    #undef USE_APDS9960

    #undef USE_ADE7953

    #undef USE_EMULATION_HUE

    #undef USE_EMULATION_WEMO

    #undef USE_DHT

    #undef USE_COUNTER

    #undef USE_TX20_WIND_SENSOR

    #undef USE_IR_REMOTE

    #undef USE_KNX

    #undef USE_HOME_ASSISTANT

    #undef USE_PCA9685

    #undef USE_TUYA_DIMMER

    #undef USE_RC_SWITCH

    #undef USE_ARMTRONIX_DIMMERS

    #undef USE_PS_16_DZ

    #undef USE_SONOFF_IFAN

    #undef USE_EMULATION_HUE

    #undef USE_LIGHT

    #undef USE_EMULATION

    #undef USE_HX711

    #undef USE_CSE7766

    #undef USE_SR04

    #undef USE_DS18x20

    #undef USE_DS18B20

    #undef USE_DS18x20_LEGACY

    #undef USE_BMP

    #undef USE_DS1820

    #undef USE_PZEM004T

    #undef USE_PZEM_AC

    #undef USE_PZEM_DC

    #undef USE_TIMERS

    #undef USE_TIMERS_WEBINTERFACE

    jaschkopf


    da bei obis in allen mir bekannten Zählern immer 7e1 verwendet wird habe ich jetzt beim senden von obis auch das parity gesetzt.

    damit kannst du einfach den normalen Hex Kode angeben ohne parity


    zusätzlich habe ich die counter IRQ Entprellung verbessert.


    neue Version auf Github

    jaschkopf


    habe mir mal das PDF angesehen. Ich ja voller Widersprüche.


    Bei den Beispielen sind es immer 9600 Baud obwohl es oben heißt 300 Baud sollen sein.


    Das $ Zeichen scheint nur für das Terminal relevant zu sein und sagt ihm wohl den Wert als Hex zu nehmen.


    Also in unserem Fall würde ich nur den Hex Kode nehmen.


    OBIS ist auf jeden Fall richtig


    ABER der Fehler liegt ganz woanders!!!


    Beim Lesen wird das Parity Bit herausgeworfen beim Schreiben muss das aber berücksichtigt werden.


    Du musst also den Anforderungs String mit Even Parity angeben !!!


    hier gibt es ein online Tool dafür http://www.ccdesignworks.com/wiegand_calc.htm

    >D

    s1=0

    s2=0


    >B

    ; d8 gpio15 auf input mit pullup

    spinm(15 2)

    ; d0 gpio16 auf input mit pullup

    spinm(16 2)


    >F

    ; rohen pin status abholen

    s1=pin[15]

    s2=pin[16]


    ; wenn sich status ändert ....

    if chg[s1]>0

    then

    endif


    if chg[s2]>0

    then

    endif