Beiträge von topsurfer

    Hallo,
    hatte paar Jahre den SonOff Th10 mit Tasmota 6.x im Einsatz,
    jetzt wollte ich updaten (über die Webadmin Seite: "Firmware upgrade"),
    und hab die Tasmota 12 (tasmota-DE.bin; 628k) nicht drauf bekommen, dann habe ich die "Tasmota-lite.bin" (490k) installiert, die ging drauf.
    Aber leider unterstützt diese nicht den Temperatursensor (Si7021 auf GPIO14).

    Gibt es evtl eine ältere FW, die "drauf passt" (max. 500k) und den TH10 unterstützt?
    Hab Release 6.71 und 7.20 gefunden, aber diese sind auch über 570k groß und gehen wohl nicht auf den TH10 drauf :(

    OK, super,
    dann muss ich mal schauen warum mein erster (recht kurzer) text mittels http/wget für "Display" nicht "ankam" ...

    Wie das über mqtt geht musss ich dann mal schauen, bislang sendetet nur meine Homeautomation mittels MQTT an die devices.
    Wie das per shell geht, gibt es da evtl. eine gute "Beispielseite" ?

    Danke euch!

    Hallo,
    bislang senden meine ESP per MQTT Daten zu meinem mqtt Broker.

    Jetzt habe ich ein kleines Display an einem neuen ESP angeschlossen, über die lokale Console kann ich das Display mit "Text" befüllen:
    (Console: DisplayText [zf1s1l1c1]Wohnzimmer: 22.5 C[f1s1l2c1]Terrasse: 5.1 C ... )

    Meine Frage, kann ich dem ESP auch per MQTT Daten schicken, so dass diese auf dem Display angezeigt werden.
    Oder per http / wget ?

    (bei einem am ESP angeschlossene LED-Stripe kann ich mittels wget die einzelnen LED's "schön" ansteuern):
    # wget "http://${IP}/cm?cmnd=LED1 <Wert1> <Wert2> ..."

    Das "allsensor Binary" von dir hat nur 1MB Speicher von vorhandenen 4MB genutzt! Das von mir, nutzt 2MB für Flash-Speicher und 2MB für das Dateisystem!


    Musst nicht suchen ... ist einfach so. Alles ausgenutzt, nichts verschenkt ... ;)

    Super,

    aber nur zum Verständnis, hast du dieses dann selbst kompiliert;

    und das heißt, ein off. BIN, welches wohl mit Vindrikning und BH1750 funktioniert, gibt es niergends als DL ?

    Versuch mal das! Ist Standard Config mit deinen gewünschten Treibern. Musst das Zip aber vorher entpacken. Und das ist ein "echtes" (4M2M) *.bin für 4M-Wemos. Vor dem flashen eventuell die Einstellungen sichern.

    Geflasht und funzt auf Anhieb, auch mit dem Vindriking !
    Danke dir!!


    Bleibt die Frage, warum beim "All-Sensor" der BH1750 mit i2cscan gesehen wird, aber in der Web-GUI nichts dargestellt wird (!?!)

    Was heißt ein echtes für Wemos, wo finde ich die?

    HoerMirAuf:
    Gitpod hab ich jetzt auch gesehen, müßte ich mr mal anschauen ob das wirklich einfacher ist ;)

    Danke dir für deine Hilfe!

    Wo hast du das gesehen, da diese unterstützt werden? Im Quellcode?
    Evtl ist die Unterstützung vom BH1750 dort nicht korrekt eingepflegt (meine Laienhafte Idee, Vermutung?)

    Und ja, wie geschrieben, i2cscan findet ja auch den BH1750, aber in der WebGUI wird der Sensor gar nicht angezeigt (keine Name, kein Wert).
    Schliesse ich nur den BME280 an, wird dieser auch in i2cscan (mit anderer Adresse) angezeigt und in der WEB-GUi sehe ich diesen Sensor mit korrekten Werten.


    Ich habe ja neu geflasht, und wieder genau dieses verhalten ...


    Hab jetzt VScode runtergeladen um selbst zu kompilieren, aber .... puhhh .
    Da verbaue ich ja fast lieber einen extra ESP nur mit dem BH1750 .... seit 5 Jahren nutze ich ESP's und mußte noch nie selbst Kompilieren.
    Oder könnte jemand mir ein "bin" "schnell" compilieren (wie das normale 11er Tasmota, plus Vindrikning); (natürlich gegen Bezahlung )?

    S0,
    hab evtl. die Lösung gefunden.
    Da ich (am Ende) auch den Luftsensor von Ikea (Vindrikning) nutzen will, habe ich den ESP vor 2 Wochen mit einem inoffiziellen Build geflasht :(https://github.com/tasmota/ins…al/tasmota-allsensors.bin).
    Da scheint der BH1750 am I2C Bus nicht zu funktionieren, der BME280 (auch am I2C Bus) hingegen schon ...
    wobei ein i2cscan auch den BH1750 erkennt! Und den BME280 auch (aber nur dieser wird in der Web-GUI angezeigt !?)

    Meine Frage;
    Gibt es ein (funktionierendes) Build, wo der Vindrikning-Sensor dabei ist (und der BH1750), oder muss ich da händig etwas hinzufügen und selbst kompilieren (noch nie gemacht ...)

    Was sagt den der i2cscan in der Konsole?


    EDIT:

    Ach ja, zwei Geräte des selben Typs, also 2x BMP oder 2x BH gehen nicht an Tasmota.

    Der Treiber erkennt immer nur ein gerät des gleichen Typs.

    i2cscan hat immer nur ein Device erkannt,
    und ja, ich habe ja zwei verschiedene Devices getestet, keine gleichen (die zwei BH1750 waren nur Testweise, weil der BME und BH1750 nicht funktionierten).

    So, konnte mit einem anderen BME280 testen, Ergebnis:
    Man kann wohl nur einen (bzw. 2) GPIO's als I2C definieren, sobald ich den D0 und D1 als I2C definiert habe, wird der zuvor am D5 und D7 angeschlossene BME280 und funktionierende nicht mehr erkannt. Der Lichtsensor BH1750 an D0/D1 wird dann erkannt!
    Schalte ich D0/D1 wieder auf "none", funktioniert der BME280 an D5/D7 wieder.
    Wer will kann das ja mal testen, ob wirklich nur ein I2C "aktiv" sein darf.


    Was jetzt aber funktioniert:
    Beide an einem BUS (D5, D7) funktionieren, also der BH1750 und BME280 ! (??).

    Ob der gestern genutzte BME280 kaputt, keine Ahnung; alleine hat er aber ja funktioniert, aber nicht mit einem BH1750 am gleichen BUS ...

    Nachtrag:
    Am gestern genutzten ESP sehe ich jetzt, das auch wenn nur der BH1750 angeschlossen ist, dieser in der Web-GUI nicht angezeigt wird.
    i2cscan zeigt den Sensor an.
    Ein angeschlossener BME280 (gleiche GPIO's !) wird in der Web-GUI angezeigt, und im iocscan natürlich auch.

    Woran kann es liegen, das der BH1750 in der GUI nicht angezeigt wird

    OK, das mit den Adressen hab ich jetzt gecheckt,
    die beiden Lichtsensoren BH1750 haben (natürlich) die gleiche Adresse, 0x23.

    Aber der BME280 hat 0x77, sollte dann ja mit einem BH1750 an einem BUS funktionieren.

    Also SDA von beiden Devices an den GIPO, welcher auf "IC2 SDA" eingestellt ist, analog für SDL.
    Korrekt, oder muss noch mehr beachtet werden bei der Verkabelung?
    (Aber das hat ja nicht funktioniert)


    Und, muss man beide I2C Devices am gleichen GPIO-Paar verwenden?
    Oer kann man auch zwei (bzw. vier) verschiedene GPIO's nutzen wenn man diese als IC2 CDA/SDL konfiguriert hat. Und sollten, wenn an jedem I2C Bus nur ein Lichtsensor hängt (aber mit gleichen Adressen), beide Sensoren dann funktionieren? Oder stören sich die gleichen Adressen da immer noch?
    Das hatte ich ja auch probiert und es ging nicht.

    Hallo,
    ist es möglich, zwei I2C Devices an einem ESP (hier: Wemo D1 Mini) zu betreiben?
    Habe jetzt einiges probiert (verschiedene GPIO, verschiedene ESP's) , einzeln funktioniert jeder (an seinen zugewiesenen Ports für DS und SDL), aber beide gleichzeitig geht immer nur einer.

    Möchte einen BME280 (Temp, Feucht, Druck) und einen BH1750 (Licht) Sensor betreiben.
    Aber auch zwei BH1750 gleichzeitig funktionieren nicht.
    Oder müssen beide an den gleiche I2C Bus betrieben werden?
    Wobei ich das auch schon getestet habe, hat aber auch nicht funktioniert.

    Rückmeldung: Jetzt klappt es !
    Danke dir!

    Zum Verständnis:
    Wenn die LED's geschaltet wurden, wird ein event x ausgeführt, welches die rule2 ausschaltet:
    On event#x DO backlog rule2 0; ruletimer1 %var1% ENDON

    Und dann:
    Rules#Timer=1 .... (aktivieren von rule2) wird dann ausgeführt, wenn der ruletimer1 abgelaufen ist?
    ON Rules#Timer=1 DO Rule2 1 ENDON

    Wobei sich ja hier nicht auf ruletimer1 bezogen wird (oder ist mit: Timer=1 der ruletimer1 gemeint? Oder ist Timer=1 der Wert des timers (15,14,13,...3,2,1)?)

    Danke dir, wollte deinen Code nicht in Frage stellen ;)

    Die rules mit rule1 0 und rule2 0 deaktiviert und mit rule1 " und rule2 " gelöscht, dann deine neuen rules über die Console reingepastet und auch "backlog rule 11 ..." ausgeführt;
    Aber es passiert nichts (!?). Die LED's bleiben so, wie ich sie in der GUI geschaltet habe, auch im log erscheint keine Ausführung einer Rule ...

    Hallo,
    ja, dein Code funktioniert, und ich verstehe auch einiges darin ;)
    Danke dir! Viel machbar....

    Mein Ansatz ist ja, eine ArtLED- "Balken" anzusteuern.
    Zum einfacheren Testen nutze ich die Feuchtigkeit statt Temperatur (kurz "hauchen", und dr Wert veränert sich recht schnell ...)
    Und da der Code für 9 LED's wohl zu lang ist, nutze ich aktuell nur 7 LEDs

    Aber warum verändert sich die Anzahl der leuchtenden LEDs zyklisch, obwohl die Humidity immer unter 40 bleibt (sehe ich ind er Web-GUI).
    Es startet mit korrektem Wert, und dannn alle 2s kommt eine LED dazu, und dann leuchten alle 7 LED's dauerhaft .
    Warum wird z.B. "<40" nicht wieder ausgeführt und somit 5 hohen LED's (LED 4 bis LED7) wieder ausgeschaltet?

    Funktioniert das "BREAK" am ende der Anweisung nicht und die nächste Bedingung wird trotzdem auch noch ausgeführt?
    Habe auch "backlog" eingefügt, ist das korekt? Weil ich ja mehrere Befehle "LED 1xxxx; LED2 yyy; ..:) in einer DO Anweisdung ausführen will/muss.

    Code:

    Rule1

    ON AM2301#Humidity>66 DO backlog LED1 222222;led2 000000;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK

    ON AM2301#Humidity<30 DO backlog LED1 10004c;led2 000000;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK

    ON AM2301#Humidity<35 DO backlog LED1 10004c;led2 00144c;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK

    ON AM2301#Humidity<40 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 000000;led5 000000;led6 000000;led7 000000 BREAK

    ON AM2301#Humidity<45 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 000000;led6 000000;led7 000000 BREAK

    ON AM2301#Humidity<50 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 000000;led7 000000 BREAK

    ON AM2301#Humidity<55 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 000000 BREAK

    ON AM2301#Humidity<60 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 4C3600 ENDON


    Log:

    13:32:08.777 RUL: Rule1 ON AM2301#Humidity>66 DO backlog LED1 222222;led2 000000;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<30 DO backlog LED1 10004c;led2 000000;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<35 DO backlog LED1 10004c;led2 00144c;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<40 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON

    13:32:08.779 RUL: Rule1 +AM2301#Humidity<45 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<50 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 000000;led7 000000 BREAK ON AM2301#Humidity<55 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 000000 BREAK ON AM2301#Humidity<60 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 4C3600 ENDON

    13:32:08.784 RSL: RESULT = {"Rule1":{"State":"ON","Once":"ON","StopOnError":"OFF","Length":983,"Free":321,"Rules":"ON AM2301#Humidity>66 DO backlog LED1 222222;led2 000000;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<30 DO backlog LED1 10004c;led2 000000;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<35 DO backlog LED1 10004c;led2 00144c;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<40 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<45 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<50 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 000000;led7 000000 BREAK ON AM2301#Humidity<55 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 000000 BREAK ON AM2301#Humidity<60 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 4C3600 ENDON"}}

    13:32:10.638 RUL: AM2301#HUMIDITY<40 performs "backlog LED1 10004c;led2 00144c;led3 00444c;led4 000000;led5 000000;led6 000000;led7 000000"

    13:32:10.675 RSL: RESULT = {"Led1":"10004C"}

    13:32:10.885 RSL: RESULT = {"Led2":"00144C"}

    13:32:11.095 RSL: RESULT = {"Led3":"00444C"}

    13:32:11.305 RSL: RESULT = {"Led4":"000000"}

    13:32:11.511 RSL: RESULT = {"Led5":"000000"}

    13:32:11.714 RSL: RESULT = {"Led6":"000000"}

    13:32:11.966 RSL: RESULT = {"Led7":"000000"}

    13:32:14.847 RUL: AM2301#HUMIDITY<45 performs "backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 000000;led6 000000;led7 000000"

    13:32:14.871 CMD: rule1

    13:32:14.877 RUL: Rule1 ON AM2301#Humidity>66 DO backlog LED1 222222;led2 000000;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<30 DO backlog LED1 10004c;led2 000000;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<35 DO backlog LED1 10004c;led2 00144c;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<40 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON

    13:32:14.880 RUL: Rule1 +AM2301#Humidity<45 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<50 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 000000;led7 000000 BREAK ON AM2301#Humidity<55 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 000000 BREAK ON AM2301#Humidity<60 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 4C3600 ENDON

    13:32:14.884 RSL: RESULT = {"Rule1":{"State":"ON","Once":"ON","StopOnError":"OFF","Length":983,"Free":321,"Rules":"ON AM2301#Humidity>66 DO backlog LED1 222222;led2 000000;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<30 DO backlog LED1 10004c;led2 000000;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<35 DO backlog LED1 10004c;led2 00144c;led3 000000;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<40 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 000000;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<45 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 000000;led6 000000;led7 000000 BREAK ON AM2301#Humidity<50 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 000000;led7 000000 BREAK ON AM2301#Humidity<55 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 000000 BREAK ON AM2301#Humidity<60 DO backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 4C3600 ENDON"}}

    13:32:15.095 RSL: RESULT = {"Led1":"10004C"}

    13:32:15.297 RSL: RESULT = {"Led2":"00144C"}

    13:32:15.504 RSL: RESULT = {"Led3":"00444C"}

    13:32:15.707 RSL: RESULT = {"Led4":"004C39"}

    13:32:15.911 RSL: RESULT = {"Led5":"000000"}

    13:32:16.112 RSL: RESULT = {"Led6":"000000"}

    13:32:16.321 RSL: RESULT = {"Led7":"000000"}

    13:32:19.047 RUL: AM2301#HUMIDITY<50 performs "backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 000000;led7 000000"

    13:32:19.079 RSL: RESULT = {"Led1":"10004C"}

    13:32:19.289 RSL: RESULT = {"Led2":"00144C"}

    13:32:19.528 RSL: RESULT = {"Led3":"00444C"}

    13:32:19.730 RSL: RESULT = {"Led4":"004C39"}

    13:32:19.942 RSL: RESULT = {"Led5":"004C16"}

    13:32:20.145 RSL: RESULT = {"Led6":"000000"}

    13:32:20.354 RSL: RESULT = {"Led7":"000000"}

    13:32:23.253 RUL: AM2301#HUMIDITY<55 performs "backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 000000"

    13:32:23.282 RSL: RESULT = {"Led1":"10004C"}

    13:32:23.490 RSL: RESULT = {"Led2":"00144C"}

    13:32:23.696 RSL: RESULT = {"Led3":"00444C"}

    13:32:23.898 RSL: RESULT = {"Led4":"004C39"}

    13:32:24.103 RSL: RESULT = {"Led5":"004C16"}

    13:32:24.310 RSL: RESULT = {"Led6":"464C00"}

    13:32:24.515 RSL: RESULT = {"Led7":"000000"}

    13:32:27.454 RUL: AM2301#HUMIDITY<60 performs "backlog LED1 10004c;led2 00144c;led3 00444c;led4 004C39;led5 004C16;led6 464C00;led7 4C3600"

    13:32:27.479 RSL: RESULT = {"Led1":"10004C"}

    13:32:27.681 RSL: RESULT = {"Led2":"00144C"}

    13:32:27.882 RSL: RESULT = {"Led3":"00444C"}

    13:32:28.091 RSL: RESULT = {"Led4":"004C39"}

    13:32:28.302 RSL: RESULT = {"Led5":"004C16"}

    13:32:28.508 RSL: RESULT = {"Led6":"464C00"}

    13:32:28.718 RSL: RESULT = {"Led7":"4C3600"}

    "Log-Output"?
    Hab unter Logging den Output der Web-Log Gui auf "4:More Debug" gestellt, ist dann das Consolen-output gemeint (sorry)

    Hab jetzt festgestellt, das ich bei der rule3 den Part von "backlog ...ruletimer1 %var1%; rule3 0 break" nicht übernommen habe;
    das mal versucht, erhalte aber (wohl Syntax-Fehler?):

    rule1 und rule2 sind "aktiv"

    ...

    20:06:06.420 CMD: Grp 0, Cmnd 'ON', Idx 1, Len 79, Data 'AM2301#Temperature<23 DO backlog LED1 222222 ; ruletimer1 %var1%; rule3 0 BREAK'

    20:06:06.426 RSL: RESULT = {"Command":"Unknown"}

    20:06:10.760 WIF: Checking connection...

    Hi,
    habe dein Bespiel von RE: Wemos D1 Mini -Tasmota - MH-Z19 Co2 Ampel angeschaut,
    rules 1 und 2 eingetragen, sind auch nach reboot aktiv.
    (wobei ich in rule1 var1 auf 10 gesetzt habe anstatt 60)

    Meine (Test) rule3 will aber gar nicht "anlaufen", es passiert nie etwas.


    Rule3

    ON AM2301#Temperature<25 DO LED1 222222 BREAK

    Sollte ja Led1 auf schwaches Licht stellen, in der Console funktioniert das auch so.
    Aber in der rule passiert gar nichts ....

    Stimmt "AM2301#Temeprature" nicht? Wobei in der GUI er auch genauso angezeigt wird ... und 23.2 Grad

    Ist zwar ein älteres Thema, aber ich will auch so was umsetzen, unabhängig von meiner Hausautomation.
    Also auch komplett im ESP abgehandelt, als Tasmota-Rules (wusste bis vor einer Woche gar nicht, das es Tasmota Rules gibt ;) ...)


    Ich habe WS2812B Streifen und möchte 9 LED'S ansteuern,
    und zwar nur im Wohlfühlbereich ;)

    Blau: 19,0°
    ______19,5
    ______20,0

    ______20,5
    Grün: 21,0
    ______21,5
    ______22,0
    ______22,5
    Rot: 23.0°

    Sollte das in eine Rule passen (?), hat jemand evtl. so etwas schon umgesetzt, Stichwort Beispiel-Code...
    Und wenn es weniger als 19,0° bzw mehr als 23 Grad hat, soll die entsprechende LED statt leuchten blinken, sollte ja auch umsetzbar sein (extra Rule (a'la "on;sleep; off...") oder gibt es eine "Blinkfunktion"?)

    Als Thermometer plane ich einen vorhanden DHT22/AM2302 zu nutzen