mit der blauen LED habe ich ebenfalls die Ursache gefunden, da ich den ds18b20 am GPIO2 hängen habe,
blinkt sie natürlich bei jeder Kommunikation mit dem ds18b20
das ich wahrscheinlich eh auf den BME280 gehe, würde das dann eh wegfallen oder ich
nutze einen anderen Pin (müsste dann aber auf den extra von mir installierten Pullup verzichten und separat am anderen Pin dazu löten
Beiträge von AingTii
-
-
kann ich gerne machen, weis aber nicht wie lange es diese Uhr noch so preiswert gibt.
Toll, habe letzte Woche Freitag 2 Stück bestellt und bekomme eine Woche Später die Info "Out Of Stock"
häääää eine Woche brauchen die um festzustellen dass es OutOfStock ist, schade, bin mal gespannt wann die ankommen.
Habe die anderen die bestellt haben auch ne OutOfStock Meldung bekommen?
Also erstmal andere Projekte weiter bringen -
du hast IP: statt IP= geschrieben.
die blaue LED hängt an GPIO2
>B
; setze GPIO2 auf Output
spinm(2 O)
; schalte LED aus
spin(2 1)
keine Ahnung woher ich den : habe
mit dem GPIO2 funktioniert nicht, blinkt weiterhin ich denke mal irgendeine übermittlung läst sie blinken
-
was mir noch einfällt, gibt es noch einen Trick, die blaue LED am d1mini zu deaktivieren, das
wird bestimmt nerven im Schlafzimmer wenn es immer blau flashed -
habe es auch noch mal neu eingegeben und explizit drauf geachtet es sauber zu schreiben.
oben das gespeicherte File
-
anscheinend lag es am d1mini der wohl ne macke hat, habe jetzt einen neuen genommen, der hat die Probleme
bislang nicht, toi toi toi,
benutze jetzt GPIO13 als Button2i(123)Noch mal ne kurze Frage zum ScriptEditor, es passiert aber gar nichts, kein Fenster mit Fehler, Oder irgendwas anderes, habe
grad noch mal mit der 8.4.0 und 8.5.0 getestet, als wenn es bei Windows hakt.
auch über das Menü nicht. -
ich habe wirklich ein Händchen dafür diese Pins zu finden.
erst hatte ich das Relais am GPIO0 und musste die Platine neu machen nun finde ich den nächsten...
Allerdings habe ich grad mal am GPIO13 angeschlossen und er hat wieder alles zurückgesetzt.Vielleicht hat der D1mini ne klatsche...
-
Die gmail Daten haben nichts mit den Charts zu tun.
Das und viel mehr ist in der Script Erweiterung von Tasmota machbar. Da man das immer selbst kompilieren muss ist das nicht so verbreitet.
Du kannst damit erheblich mehr erreichen als mit rules.
Die WEB GUI kannst du selbst gestalten mit Buttons, Schiebereglern etc
Du kannst beliebige HTML Seiten bauen auch im Vollformat mit Bildern, Links etc. also ein richtiger Webserver.
Du hast ein File System in dem du Dateien speichern kannst und die dann hoch und runterladen.
Du kannst emails versenden auch mit Anhang, alle möglichen Google Charts anzeigen.
Audio Dateien abspielen, mit der Webcam Bewegungs Erkennung, Gesichtserkennung etc. machen
und natürlich umfangreiche Datenverarbeitung machen
Bin gerade dabei meine RASPies zu ersetzen mit einem ESP32 der mit allen anderen Tasmotas ohne MQTT kommuniziert.
Ist für kleinere Systeme ganz problemlos möglich.
Ich programmiere gerade eine TTGO ESP32 Watch als Server
da hat man ein schönes kleines Display und Audioausgabe in einem Armbanduhren Gehäuse
16MB Flash und noch extra 4MB Ram
für 23 euro inklusive Versand.
werde das Armband abmachen und die Uhr in ein Wandgehäuse einbauen.
das ist die Uhr oder gibt es verschiedene, da bei Dir ein Farbdisplay auf dem Bild ist und
im Link sieht eher nach epaper oder monocrome aus?!?!
Danke
-
Moin Gerhard,
so, habe den D1mini noch mal komplett gelöscht und neu aufgespielt,
und rausgefunden, es liegt nicht am touch schalter sondern sobald ich
GPIO15 mit Button2 konfigurieren ist erst noch alles ok, und nach x Sekunden
kommt der komplett reset.
MerkwürdigGruß Jens
-
Ah Ok, da es ziemlich unwahrscheinlich ist, dass ich das Display Wechsel und ich dann eh
DIe Blende neu drucken, und alles zerlegen müsste, kann ich dann ja auch komplett neu
flashen...
Danke
Gruß Jens -
Tasmota 8.4.0 das es bestimmt schon ne Woche her ist, denke ich nicht aktuelleste....
OK, das würde auf jeden Fall erklären warum das im Boot nicht funktioniert, da dann ja ständig neu gebootet, script gestartet
und durch das ändern des Display dann wieder, also ne Endlosschleife...
Also muss ich das wohl rauslassen und in der Konsole einstellen.
Oder kann ich das im Tasmota schon mitgeben, das ich es beim flashen schon drin habe?
Danke
Gruß Jens -
noch ne kleine Frage zum ScriptEditor, woran mag es liegen, dass trotz Eingabe der IP:xxx.xxx.xxx.xxx
und Strg+R nichts passiert.
beim letzten Mal ging es noch problemlos, jetzt nicht. -
Moin Gerhard,
danke für den Tipp.
Ich versuche die Konfig mal zu speichern und teste es noch mal korrigiertem Script,Noch ne Frage zum ScriptEditor, kann man das einstellen, dass nicht immer eine leer Zeile dazwischen gepackt wird wenn
man den Script reinkopiert.
Finde ich persönlich etwas unübersichtlich auseinander gezogen, da ich gern Bereiche mit Leerzeilen trenne...
Ansonsten hatte ich den letztes Mal auch bereits ausprobiert, mit der IP oben zum direkten hochladen,
ist natürlich Top für sowas!Edit:
Achja und komischerweise kann im im Boot Sector des Scripts nicht
DisplayMode und DisplayModel aktivieren, dann schmiert ebenfalls alles ab.
Könntest Du bitte bei Dir schauen ob es ebenfalls so ist bei Dir, ich meine ich habe das früher auch verwendet ohne Probleme.
Danke
Gruß Jens -
Hallo Zusammen,
so langsam wird es Zeit meine Wandthermostaten fertig zu stellen, das ja bald die Heizperiode kommt.
Da ich das OLED Display nicht die ganze Zeit an haben möchte (Längere Lebensdauer) wollte ich einen kleinen Touchsensor
mit einbauen, der bei Bestätigung das Display für 10 Sec an macht.
Sobald ich ihn anschließe spiel der D1min verrückt klickt schnelle das Relais und ist dann komplett zurückgesetzt.
Evtl. mach ich ja auch was falsch.
Folgende Konfiguration habe ichCode
Alles anzeigenGENERIC(18) Hardware Tasmota GPIO: Pin Pin GPIO: Tasmota Hardware N/A RST TX GPIO1 None(0) N/A N/A None(0) A0 RX GPIO3 None(0) N/A Optokopler/Finderrelais Relais1(21) GPIO16 D0 SCL(D1) GPIO5 I2C SCL(5) OLED SH1106 & BME/BMP280 N/A None(0) GPIO14 SCLK(D5) SDA(D2) GPIO4 I2C SDA(6) OLED SH1106 & BME/BMP280 N/A None(0) GPIO12 MISO(D6) D3 GPIO0 None(0) N/A N/A None(0) GPIO13 MOSI(D7) D4 GPIO2 DS18x20(4) 1x DS18B20 N/A None(0) GPIO15 CS(D8) GND GND 3V3 3V3 5V N/A
So läuft es erstmal, wobei ich vor einiger Zeit das Pänomen hatte, dass kein Standard Schalter vorhanden war und ich um das Display
an und auszuschalten ein extra Relais konfigurieren musste, dann waren aber 3 Schalter in der Webif
Nungut, ich habe bislang probiert, am GPIO0 und GPIO15 mit entsprechender Konfig Button1(17) den Touchsensor anzuschließen,
was erst gut funktioniert, bei Touch wird das Display aktiviert und über das Script nach 15sec wieder aus gemacht,dann nach einigen malen, fängt das Relais an zu rattern und nichts geht mehr, sämtlich Konfig ist zurückgesetzt
Sonoff Basic, DisplayMode, DisplayModel, und keine GPIO Zuordnung
Touchbutton Linkvorläufiger Draft Script:
Code
Alles anzeigen>D temp=0 adjt=0.5 hum=0 press=0 temp2=0 adjt2=-0.1 p:soll=20.0 pit=0.5 xs=0 ys=0 mo=0 mod=0 min=soll-pit max=soll+pit timer=0 dim=0 >B +>Display ;->DisplayModel 7 ;->DisplayMode 0 ->DisplayDimmer 50 ->displaytext [Bi0z] >E mo=Display#Model mod=Display#Mode dim=Display#Dimmer xs=Display#Width ys=Display#Height print %xs% %ys% %mo% >T temp=BME280#Temperature+adjt hum=BME280#Humidity press=BME280#Pressure temp2=DS18B20#Temperature+adjt2 >S min=soll-pit max=soll+pit if upsecs%10==0{ if temp2>=soll+pit then =>power1 0 =>DisplayText [s3l2c1] =>print %temp2% endif if temp2<=soll-pit then =>power1 1 =>power2 1 =>DisplayText [s3l2c1] heizen =>print %temp2% endif } if pwr[1]>0 then =>DisplayText [s3l2c1] heizen else =>DisplayText [s3l2c1] endif if upd[soll]>0 then =>Publish tele/%topic%/SENSOR {"Soll":%1soll%} =>Publish tele/%topic%/SENSOR {"Ist":%1temp%} endif if mo==9{ ->displaytext [f1Ci5l2c6T] ->displaytext [f0s3Ci7l2c1] %1temp%~f8C ->displaytext [f2Ci2l3c5]%0hum% ->displaytext [f1Ci2l6c18]%% ->displaytext [f2Ci6l4c3]%0press% ->displaytext [f1Ci6l8c16]hpa ->displaytext [f1Ci3l10c6tS] } endif if mo==7{ ->DisplayText [f0s3l1c1] %1temp%~f8C ->DisplayText [f0s1l8c1]%1temp2%~f8C ->DisplayText [f0s1l8c10] %1soll%~f8C } endif if pwr[2]>0{ timer+=1 if timer>=15 then =>power2 0 timer=0 endif >W nm(10 30 0.5 soll "Soll") Temp BME: %1temp%°C Temp DS: %1temp2%°C DisplayModel: %0mo% DisplayMode: %0mod% DisplayDim: %0dim% Display X: %0xs% pix Display Y: %0ys% pix Min %1min% Max %1max%
Hat jemand eine Idee dazu, warum der Touchsensor solche Komplikationen auslöst?
Danke
Gruß Jens -
nicht ganz, Du kannst Ihn auch in den dauer Sleep versetzen, hier mal meine Code für den Taster...
C
Alles anzeigen// Copyright (c) 2018 Jens Vorwerk All rights reserved. /* Einstellungen in der IDE 1.8.5 Board: "Generic ESP8266" Flash Mode: "DIO" Flash Size: "1M (64K SPIFFS)" (beim schwarzen ESP-01, sonst 512K) Debug port: "Disabled" Debug LEvel: "keine" IwIP Variant: "v2 lower Memory" Reset Method: "ck" Cristal Frequenzy: "26Mhz" VTables: "Flash" Flash Frequenzy: "40Mhz" CPU Frequenzy: "80Mhz" BuitIn Led: "2" Upload Speed: "115200" Earase Flsh: "Only Sketch" Port: Auswählen auf welchen Port der Ftdi Adaper liegt Programmer: "AVRISP mKII" */ //################################################################################################### // Library #include <ESP8266WiFi.h> // WiFi settings const char* ssid = "ssid"; // WLAN SSID eingeben const char* password = "passwort"; // Wlanpasswort mit \ maskieren falls Sonderzeichen wie zb / const char* Wifi_hostname = "MiniButtonJens"; // Geräte-Netzwerkname // Network IPAddress ip(192, 168, 5,xxx); // IP Address IPAddress gateway(192, 168, 5, 1); // gateway fürs Netzwerk IPAddress dns(192, 168, 5, 1); // dns fürs Netzwerk IPAddress subnet(255, 255, 255, 0); // subnet mask fürs Netzwerk // Host const char* host = "192.168.5.x"; // IP Adresse des Host const int httpPort = 8087; // Port des Host String befehl = "PUT /toggle/0_userdata.0.P.3_OG.1_EZ.Lampe_3_Decke"; // Befehl an Host //############################################################################################## void setup() { // Serial Serial.begin(115200); Serial.println("ESP8266 in normal mode"); // Connect to WiFi WiFi.hostname(Wifi_hostname); WiFi.begin(ssid, password); WiFi.config(ip, dns, gateway, subnet); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // Print the IP address Serial.println(WiFi.localIP()); // Logging data to cloud Serial.print("Connecting to "); Serial.println(host); // Use WiFiClient class to create TCP connections WiFiClient client; if (!client.connect(host, httpPort)) { Serial.println("connection failed"); return; } // This will send the request to the server client.print(befehl + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); delay(10); // Read all the lines of the reply from server and print them to Serial while(client.available()){ String line = client.readStringUntil('\r'); Serial.print(line); } Serial.println(); Serial.println("closing connection"); // Sleep Serial.println("ESP8266 in sleep mode"); ESP.deepSleep(0); // 0 bei unbegrenzt } void loop() { delay(1000); Serial.println("aufgewacht"); ESP.deepSleep(0); // bei unbegrenzt }
also rein theoretisch sollte es auch gehen, bei jedem kippen einmal das toggle zu senden und im iobroker zu zählen.
evtl. kann man es ja auch erweitern, und zählt im esp speichert es und sendet bei jedem 10mal den wert ?!?!?
Du musst ja nicht toggle verwenden könntest ja auch Werte schreiben etc...
Gruß Jens -
Starker Preis!
Ja, dass es eine riesige Antenne ist, ist mir klar =). Leider war kein anderes Kabel im Haus als dieser Telefondraht von dem ich gefühlt noch Kilometer habe.
Allerdings habe ich mir überlegt, vielleicht wäre es eine Option, dort einfach ein esp8266 und einen LiPo Akku einzubauen. Evtl. auch mit einer Solarzelle diesen Akku zu laden. Den ESP mit einem Regenimpuls aus dem Deepsleep wecken via MQTT dann einen Impuls verschicken und im Raspberrypi zählen lassen.
Allerdings bringt dies das Problem mit, dass der ESP nicht weiß, ob er aus dem Deepsleep geweckt wurde, weil 3h Schlaf um sind oder weil der Regensensor ein Impuls gegeben hat.
Alternativ mit einem ESP32s2 vielleicht. Mal sehen.
Nutzt Du ioBroker?
dann wäre der Code ja noch einfacher, im Grund wie mein ESP-Taster, durch Tastendruck wird lediglich der RST auf GND gezogen
das könnte ja auch der Reed machen, dann startet er meldet sich ins wlan, sendet den Befehl und geht wieder in den DeepSleep dauermodus -
-
Ja schon witzig, aber eigentlich nicht verwunderlich, da ja Bastler da meist auf etwas günstiges zurückgreifen....
Bezüglich der langen Kabel ist es bei 3,3v oder 5V natürlich sehr kritisch noch vernünftige Signale zu bekommen,
vor Allem hast DU bei 50m ja auch eine riesen Antenne die alles möglich auffängt.
Gibt ja auch von CC2TV so ein Video wo er ein langes Kabel spannt und damit Strom abbreift
Sprich er nimmt Erde und die "Antenne" geht über einen StepUp und betriebt eine LED damit...
Ähnlich werden auch bei Dir Störungen aufgefangen.
Evtl. könnte man es über eine Netzwerkkabel mit Schirmung auf GND abfangen?!?!?
Ich habe jetzt überlegt, ich erweitere das ganz noch gleich mit einer Füllstandsanzeige für die Tanks.Überlegung ist dabei einen D1mini mit beiden Sensoren, Regenmengenmesser und einen HC-SR04
für den Füllstand.
Hier eine interessante Erkenntnis erlangt, misst der SR04 in einem Rohr, misst er max auch nur bis Ende des Rohres,
gleiches gilt für zusammengesteckte Rohre, da ist nach dem ersten Rohr schluss.
Somit muss ich testen wie es mit einem 2m DN50 HT Rohr aussieht. Dann könnte ich das einfach in das 70er vom Tank stecken,
da es ja keine Unterbrechung haben darf. -
hab es grad rausgefunden,
anstatt >S unter >T gepackt und geht -
Guten Morgen Gerhard,
hast Du schon mal mit dem Ultraschall Sensor HC-SR04 gearbeitet? in der Konsole wird folgendes ausgegeben:
CodeMQT: tele/StromzaehlerTest191/SENSOR = {"Time":"2020-08-30T08:11:59","SR04":{"Distance":3.228},"OBIS":{"Total_in":0.0000,"Total_out":0.0000,"Power_curr":0,"Meter_number":""}}
folglich sollte es doch gehen mit folgendem Inhalt im Scripter den Wert zu bekommen oder?
allerdings bleibt er 0.000 und die Konsole gibt aus
Danke Gruß Jens