Schnup89 / LIVY_RING_G2-Tasmota

25 stars 4 forks source link

Buzzer knistert #6

Closed bluefish007 closed 3 years ago

bluefish007 commented 3 years ago

Hallo und besten Dank für deine Arbeit!

Die Firmware konnte ich erfolgreich aufspielen. Leider knistert der Buzzer seit dem ersten Start mit deiner Firmware durchgängig. (Davor war er leise, also zum Beispiel beim Flashen. Die original Software habe ich nie genutzt, aber er hat einmal laut gepiept, beim aller ersten Einstecken/Start)

Muss ich da noch irgendwas einstellen oder ist der Buzzer evtl. defekt?

Danke für eine Rückmeldung :)

Schnup89 commented 3 years ago

Hi, hast du das Template eingestellt?

Im Webinterface unter "Einstellungen" -> "Gerät" -> "Gerätetyp" LivyRing auswählen und unten mit "speichern" bestätigen.

bluefish007 commented 3 years ago

Ja, habe ich eingestellt. Die Einstellungen sehen auch korrekt aus, denke ich:

Bildschirmfoto 2021-07-21 um 12 58 21
greynoO commented 3 years ago

Ich habe das Problem auch, man kann ja leider nichts mehr einstellen am Piezo momentan.

Schnup89 commented 3 years ago

Schaut mal bitte unter Einstellungen -> Vorlage was auf dem gpio16 konfiguriert ist bei euch. Ich hatte mit der letzten Version einen frischen "Ring" geflashed und das Geräusch war mit dem aktivieren des Templates weg.

bluefish007 commented 3 years ago

LED steht bei mir bei gpio16. (Eingestellt habe ich das nicht...)

Bildschirmfoto 2021-07-21 um 13 33 39

Ich habe es mal auf Buzzer oder Buzzer_i geändert, das Geräusch bleibt aber leider...

Schnup89 commented 3 years ago

Oh, da hab ich wohl eine Test mit ins Template genommen, sorry LED ist natürlich falsch. Probier mal bitte "Output Lo"

bluefish007 commented 3 years ago

Output Lo geändert, leider noch immer das Geräusch, aber leiser (gefühlt)

Bildschirmfoto 2021-07-21 um 13 57 41
Trashwarez commented 3 years ago

Hier auch. Leider keine Besserung mit "Output Lo". Das knistern wird beim Laden lauter.

bluefish007 commented 3 years ago

oh stimmt, sobald das Ladegerät eingesteckt ist knistert es wieder laut - auch bei mir :(

Schnup89 commented 3 years ago

Kann es nachstellen, bin gerade dran. Solange der GPIO als "PWM" eingestellt ist, ist alles super. Das kann ich aber nicht machen da Tasmota diesen PWM dann automatisch als "Licht-Channel" hinzufügt. Ich kann zwar alle PWM-Channels vom Licht trennen, aber nicht explizit sagen PWM1-3 ihr seid RGB LED. Das Problem der Piezo sollte eigentlich auch als "Buzzer" (Setoption111 als PWM) funktionieren, macht er aber nicht.

Schnup89 commented 3 years ago

https://github.com/arendst/Tasmota/issues/12717

Mal schauen was die Gurus dazu sagen :)

Jason2866 commented 3 years ago

Hallo @Schnup89,

wir haben bei Tasmota für den ESP8266 und den ESP32 jeweils geänderte Arduino cores bzw. haben das darunterliegende IDF (ESP32) für Tasmota Bedürfnisse optimiert. Da neuere ESP32 bei den GPIO 16/17 das PSRAM angeschlossen haben, und wir zukünftig dieses OHNE speziell kompilierte Variante unterstützen testen wir bzw. die modifizierte IDF library ob PSRAM angeschlossen ist. Das führt zu entsprechenden on/offs dieser GPIOs. Ob das die Ursache ist kannst du einfach überprüfen indem du deine Tasmota version mit dem alten core 1.0.7.1 compilierst. Wahrscheinlich wirst du Fehler beim LittlefFS bekommen. Wir verwenden hiere eine andere in den neueren Cores. Kopiere um diesen Fehler zu beseitigen in den Ordner lib/lib_basic diese Version https://github.com/lorol/LITTLEFS Ordner LITTLEFS Hab mir soeben über ebay kleinanzeigen so ein Teil gekauft (hoffentlich das richtige...). Wäre schön wenn du deinen Quellcode auch hochlädst. Tasmota nutzt GPL3.0.

Jason2866 commented 3 years ago

Hallo nochmals, wenn du den Code hochgeladen hast, mache ich gerne das entsprechende Platformio und Core Setup fertig. Dann wissen wir ob das knistern vom Core PSRAM Test kommt oder nicht

Schnup89 commented 3 years ago

Hi @Jason2866 ,

vielen Dank für die Info und deine Unterstützung! Ich habe für jeden nicht "out-of-the-box" erkannten Sensor eine Library (im Rahmen meiner Programmierkenntnisse) geschrieben. Ich lade morgen die neuen Librarys und User_conf Datei hoch. Für einen Push gegen das tasmota repository fehlen mir die git und tasmota Kenntnisse. Das hätte ich irgendwann im Anschluss gemacht :)

Schnup89 commented 3 years ago

Hallo nochmals, wenn du den Code hochgeladen hast, mache ich gerne das entsprechende Platformio und Core Setup fertig. Dann wissen wir ob das knistern vom Core PSRAM Test kommt oder nicht

Zur Info: Ich hatte für das testen eine precompiled esp32-version genommen um Unfug meinerseits auszuschließen. Wenn du die Standard Tasmota32-Version mit den genannten Änderungen kompilieren könntest kann ich es direkt testen.

Jason2866 commented 3 years ago

Github und git ist mit VSC kein Hexenwerk mehr. Schau dir es einfach mal an. Drück einfach mal im Webbrowser im Tasmota repo auf "fork". Dann hast du schon DEINE Kopie

Jason2866 commented 3 years ago

@Schnup89 So ich hab mal deine Änderungen und Tasmota zusammengeführt. Ich bekommen beim compilieren diesen Fehler:

D:/LIVY_RING_G2-Tasmota/tasmota/xsns_89_lc709203f.ino: In function 'void lc709203fDetect()':
D:/LIVY_RING_G2-Tasmota/tasmota/xsns_89_lc709203f.ino:208:7: error: 'bus' was not declared in this scope
       bus = checkbus;
       ^

Tasmota mit deinen Änderungen sind hier https://github.com/Jason2866/LIVY_RING_G2-Tasmota

Wahrscheinlich hast du beim manuellen hochladen irgendwo eine Änderung übersehen (oder ich...) Sollte aber alle files kopiert haben. Habs überprüft. Du bist als Colaborateur von mir eingeladen. D.h. du kannst die Änderungen die notwendig sind selbst durchführen. Wenn das compilieren dann klappt ändere ich das setup um die GPIO 16 17 "frei zu machen"

Schnup89 commented 3 years ago

Fixed ... da hab ich beim umbenennen zwei Stellen vergessen ;) Konnte es aber noch nicht testen muss es erst noch in mein vsc laden später

Jason2866 commented 3 years ago

Ja, das wars. Dann ändere ich mal auf den "alten" core. EDIT: So die firmware is hier Einfaches Online compilieren ist mit Gitpod möglich. Einfach den Badge im Readme clicken image

Jason2866 commented 3 years ago

Also GPIO16 auf Buzzer und SO111 1 (getestet nur auf einer ESP32 NodeMCU, habe noch keinen)

14:22:47.684 CMD: status 0
14:22:47.693 RSL: STATUS = {"Status":{"Module":0,"DeviceName":"Tasmota","FriendlyName":["Tasmota","Tasmota2","Tasmota3","Tasmota4"],"Topic":"tasmota_362330","ButtonTopic":"0","Power":15,"PowerOnState":1,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0,"InfoRetain":0,"StateRetain":0}}
14:22:47.728 RSL: STATUS1 = {"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"tasmotas","OtaUrl":"http://ota.tasmota.com/tasmota32/release/tasmota32.bin","RestartReason":"Software reset CPU","Uptime":"0T00:01:22","StartupUTC":"2021-07-22T13:21:25","Sleep":50,"CfgHolder":4617,"BootCount":5,"BCResetTime":"2021-07-22T14:16:25","SaveCount":18}}
14:22:47.758 RSL: STATUS2 = {"StatusFWR":{"Version":"9.5.0.3(tasmota)","BuildDateTime":"2021-07-22T15:03:41","Core":"1_0_6","SDK":"v3.3.5-1-g85c43024c","CpuFrequency":80,"Hardware":"ESP32-D0WDQ6","CR":"394/699"}}
14:22:47.775 RSL: STATUS3 = {"StatusLOG":{"SerialLog":2,"WebLog":2,"MqttLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["Jason_Home_WLAN",""],"TelePeriod":300,"Resolution":"558180C0","SetOption":["00008009","2805C8000100060000005A0A000000000000","00000080","20006000","00000001"]}}
14:22:47.813 RSL: STATUS4 = {"StatusMEM":{"ProgramSize":1381,"Free":1856,"Heap":169,"PsrMax":0,"PsrFree":0,"ProgramFlashSize":4096,"FlashSize":4096,"FlashFrequency":40,"FlashMode":3,"Features":["00000809","9FDAC787","00152001","BFF7BFCF","05DA9FC0","60360DC7","000840DA","20200000","0000002D"],"Drivers":"1,2,3,4,5,7,8,9,10,11,12,14,17,20,21,24,26,27,29,34,38,50,52","Sensors":"1,2,3,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,24,26,28,31,33,34,37,39,40,42,43,45,51,52,55,56,58,59,64,65,66,67,74,85,89,90,91,92,127"}}
14:22:47.854 RSL: STATUS5 = {"StatusNET":{"Hostname":"tasmota_362330-0816","IPAddress":"192.168.2.169","Gateway":"192.168.2.1","Subnetmask":"255.255.255.0","DNSServer":"192.168.2.1","Mac":"AC:67:B2:36:23:30","Webserver":2,"WifiConfig":4,"WifiPower":17.0}}
14:22:47.875 RSL: STATUS6 = {"StatusMQT":{"MqttHost":"","MqttPort":1883,"MqttClientMask":"DVES_%06X","MqttClient":"DVES_362330","MqttUser":"DVES_USER","MqttCount":0,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30,"SOCKET_TIMEOUT":4}}
14:22:47.896 RSL: STATUS7 = {"StatusTIM":{"UTC":"2021-07-22T13:22:47","Local":"2021-07-22T14:22:47","StartDST":"2021-03-28T02:00:00","EndDST":"2021-10-31T03:00:00","Timezone":"+01:00","Sunrise":"05:11","Sunset":"20:41"}}
14:22:47.921 RSL: STATUS10 = {"StatusSNS":{"Time":"2021-07-22T14:22:47","Switch1":"OFF","Switch2":"ON","PYQ":{"Movement": false},"MIC":{"Noise_Level (db)": 0.0},"ESP32":{"Temperature":53.9},"Global":{"Temperature":53.9},"TempUnit":"C"}}
14:22:47.942 RSL: STATUS11 = {"StatusSTS":{"Time":"2021-07-22T14:22:47","Uptime":"0T00:01:22","UptimeSec":82,"Heap":167,"SleepMode":"Dynamic","Sleep":10,"LoadAvg":99,"MqttCount":0,"POWER1":"ON","POWER2":"ON","POWER3":"ON","POWER4":"ON","Dimmer":10,"Color":"1A1A1A","HSBColor":"0,0,10","Channel":[10,10,10],"Scheme":0,"Fade":"OFF","Speed":1,"LedTable":"ON","Wifi":{"AP":1,"SSId":"Jason_Home_WLAN","BSSId":"00:A0:57:2A:BD:19","Channel":9,"Mode":"11n","RSSI":90,"Signal":-55,"LinkCount":1,"Downtime":"0T00:00:07"}}}
Schnup89 commented 3 years ago

Danke dir, hab es Mal eben geflashed, Fehler ist aber noch da. Er knistert und der ESP stürtzt bei einem "buzzer 2" ab.

`` Program Version 9.5.0.3(tasmota)

2021-07-22T14:44:02 1_0_6/v3.3.5-1-g85c43024c ``

Schnup89 commented 3 years ago

Ich glaube es ist ein Fehler im der buzzer Lib. Wenn ich einen PWM1 Pin definiere unter Vorlage dann stürzt der ESP nicht ab und die LED blinkt beim Ausführen des buzzer Kommandos

Jason2866 commented 3 years ago

Ja, kann ich mit einer unveränderten Tasmota Version nachvollziehen.

blautob commented 3 years ago

Kannst du die vorletzte Firmware nochmal hochladen. Mit der gab es zumindest beim Buzzer keine Probleme.

Schnup89 commented 3 years ago

Es müsste diese sein: https://github.com/Schnup89/LIVY_RING_G2-Tasmota/blob/1ff1c609d03e0b5e28abeb0931f13b2d11b53824/livyringg2tasmo.bin

blautob commented 3 years ago

Denkst du, dass das buzzing zu lösen ist? Mit dem bisherigen Enteicklungsspeed, hab ich mich gewundert dass die letzten Tage noch kein Update kam ;-)

Schnup89 commented 3 years ago

Bei der Buzzer-Geschichte warte ich auf Antwort im Bug Report Tasmota-Repository. Vorher wird da nicht viel zu machen sein. Habe gestern/vorgestern die Lebenszeit per Batterie ohne Sensoren getestet... mehr als 24h hält die leider nicht durch.

Jason2866 commented 3 years ago

@Schnup89 Fixed from Theo with latest commit. A working Livyring firmware is here

Trashwarez commented 3 years ago

Ich kann bestätigen, dass mit dieser Version das Knistern weg ist. Darüber hinaus ist die Wärmeentwicklung am Ring spürbar kleiner, was sich postiv auf den Stromverbrauch auswirken dürfte. Weiter so! ;-)

Jason2866 commented 3 years ago

Ich hab meinen Ring zwischenzeitlich auch erhalten. Die Wärmeentwicklung kam vom Buzzer welcher ständig unter Strom stand. Desweiteren ist der optimierte Tasmota core nicht geeignet, da der GPIO 16 für den Buzzer verwendet wird. Bei ESP32 mit PSRAM ist an GPIO 16/17 dieser angebunden. Die oben verlinkte Version verwendet den standard core 1.0.6 ohne PSRAM support. D.h. GPIO 16/17 sind frei verwendbar.

blautob commented 3 years ago

Darüber hinaus ist die Wärmeentwicklung am Ring spürbar kleiner, was sich postiv auf den Stromverbrauch auswirken dürfte. Weiter so! ;-)

Kann das auch bestätigen :-)

blautob commented 3 years ago

Eine kurze Frage noch @Schnup89 in der vorletzten Version gab es noch die Möglichkeit den Buzzer über deinen Webbutton zu aktivieren und Lautstärke über den Slider anzupassen. Muss ich hierfür noch was in der Vorlage konfigurieren?

Schnup89 commented 3 years ago

Das ging/geht sobald man den GPIO16 auf "PWMx" gestellt hatte/stellt. Nachteil: Du kannst die LED's nicht mehr als RGB LED's mit dem schönen Color-Picker und den Commandos nutzen. Das war auch der Grund warum GPIO16 als Buzzer konfiguriert wurde. Leider gibt es dort keine Einstellung für die "Lautstärke", das könnte ich mir mal ansehen ob man das hinzufügen kann. https://tasmota.github.io/docs/Buzzer/

Trashwarez commented 3 years ago

Seit die Sache mit dem Buzzer gefixt ist, hat sich meine Akkulaufzeit mindestens verdreifacht. Sie liegt jetzt bei ca. 4 Tagen.

Schnup89 commented 3 years ago

Buzzer knistern ist gefixed, ich schaue mir nächste Woche die Ansteuerung der LED's und Buzzer nochmal an, meine aber das wurde auch gelöst indem der Buzzer auch als "Buzzer" anstatt "PWM" im Template deklariert wurde. Damit konnte man dann Buzzern :) und die LEDs per Farbpalette steuern.