Tasmota - fertige .bin mit MAX44009 Unterstützung

Begonnen von TomLee, 10 August 2019, 16:45:20

Vorheriges Thema - Nächstes Thema

TomLee

Hallo,

der MAX44009 wird auch nicht von der sonoff-senors.bin unterstützt man kann aber selbst kompilieren und ihn "freischalten".

Hat eventuell jemand ein aktuelles, fertiges .bin das er hier bereitstellen würde ?

Gruß

Thomas

Gisbert

Hallo Thomas,

was kommt denn in Tasmota an, wenn du ihn per I2C mit dem ESP verbindest?

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

TomLee

Er wird als vermeintlicher ADS1115 erkannt.

Tut aber auch nichts zu Sache. Das man selbst kompilieren muss steht ja hier, mir grauts nur davor, sehe schon die Stunden rinnen bis es am Ende klappt.

Gisbert

#3
Hallo Thomas,

auf der Tasmota-Wikiseite steht, dass man bevorzugt Platformio zum kompilieren nutzen soll, weil es einfacher ist. Das mag ja sein, aber mit Platformio hab ich noch gar nichts gemacht, also ist es für mich erst mal schwerer. Ich kenne mich in Arduino soweit aus, dass ich aus einer Sketchvorlage etwas soweit anpassen kann, dass es für meine Bedürfnisse passt. Die Methode ist dabei trial-and error, da ich es nicht besser kann.
Tasmota lässt sich anscheinend auch in Arduino kompilieren:
https://github.com/arendst/Sonoff-Tasmota/wiki/Arduino-IDE
Das dauert dann mit allen Irrungen und Wirrungen sicher Stunden bei mir.

Ich hätte schon Lust das in Angriff zu nehmen, da ich an der ein oder anderen Stelle gerne andere Begriffe als ON/OFF oder Toggle auf der Übersichtsseite hätte.
Für einen Sensor (einen digitalen Potentiometer X9C104) habe ich einen eigenen Sketch unter Nutzung einer vorhandenen Bilbliothek für den XC9 geschrieben. Wenn ich den Sensor in Tasmota reinbringen könnte, wäre das natürlich viel besser, da Tasmota viele Funktionen mitbringt, die mein Sketch nicht leisten kann.

Das Kompilieren ist ja schon eine Herausforderung für sich, aber wenn der Tasmota-Sketch mit neuen Sensoren/Bibliotheken etc. noch verändert werden soll, dann fürchte ich, dass ich ganz schnell an meine Grenzen komme.

Tut mir leid, dass ich nicht wesentlich weiterhelfen kann.
Falls du dich aber daran wagst, dann wäre es schön, wenn du dein Ergebnis mitteilen könntest.
Alternativ könnte ich dir einen eigenen, funktionierenden Sketch zur Verfügung stellen, der sich um Wlan und MQTT-kümmert, eine initiale Webseite für die Wlan-Credentials bereit hält, und sich auch darum kümmert, den ESP neu zu verbinden, falls die Verbindung abgebrochen wurde.
Dann müsstest du "lediglich" deinen Sensor einbringen.

Viele Grüße Gisbert

Edit:
Einen Sketch zum MAX440009 (und anderen Sensoren) gibt es hier:
https://github.com/defl/roomsensor
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

TomLee

Hallo Gisbert,

kurz: drück mich schon Wochen davor, die Frage hier war dann wohl der Auslöser das ich mich dann auch wirklich gleich der Aufgabe gestellt habe.   :P

Wie erwartet nicht ohne Probleme, wenn ich kompiliere dann nur noch mit Platformio (Arduino IDE hat mich zu viel geärgert).

Anfangs stundenlang noch auf Windows, dann kurzentschlossen Atom/Platformio auf Linux installiert, aber auf beiden Systemen mit aktuellem Platformio 4.0 der gleiche Fehler:

/../../xtensa-lx106-elf/bin/ld: .pio/build/prod-ota/firmware.elf section .text' will not fit in region iram1_0_seg'

Die Lösung hab ich dann hier gefunden, die scheinbar einfach noch nicht dokumentiert wurde.

Wie ich vorgegangen bin:

1. Source Code (.zip oder .tar.gz) hier heruntergeladen und entpackt
2. In Platformio mit Open Folder oder Add Project Folder das entpackte Verzeichnis hinzugefügt
3. In der platform.ini
Zitat;env_default = sonoff-sensors
auskommentiert
4. In der /sonoff/sonoff_post.h
Zitat //#define USE_MAX44009
auskommentiert (das sind +0.8k, keinen anderen Sensor rausgenommen)
5. Des stundenlangen Rätsels Lösung : In der platform.ini [platformio]
src_dir = sonoff
um build_dir = .pioenvs ergänzt
6. kompilieren :)

Anbei das Ergebnis

Gruß

Thomas




RappaSan

Zitat von: Gisbert am 10 August 2019, 20:25:40
Tasmota lässt sich anscheinend auch in Arduino kompilieren:
https://github.com/arendst/Sonoff-Tasmota/wiki/Arduino-IDE
Das dauert dann mit allen Irrungen und Wirrungen sicher Stunden bei mir.
Hallo Gisbert,
ich hatte keine größeren Probleme mit der Installation der Arduino IDE.
Wichtig war, daß man die Zip-Datei herunterlädt und nicht die exe.
Restliche Anweisungen genau befolgen hat dann zu der funktionierenden compiler Version geführt.
Schön ist auch, daß damit eine portable Version entsteht.

Gisbert

Hallo RappaSan,

vielen Dank für den Hinweis, im Tasmota-Wiki gibt es eine Anleitung für die Arduino IDE; ich werde mich dann bei nächster Gelegenheit daran versuchen.

Hallo Thomas,

die binaries für Tasmota kommen ja in sehr vielen verschiedenen Varianten, inkl. Sprachvarianten.
Wie wählt man denn eine bestimmte aus? Ich nehme an, dass die zip-Datei alle enthält.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

TomLee

Zitat von: Gisbert am 11 August 2019, 14:15:39
Hallo Thomas,

die binaries für Tasmota kommen ja in sehr vielen verschiedenen Varianten, inkl. Sprachvarianten.
Wie wählt man denn eine bestimmte aus? Ich nehme an, dass die zip-Datei alle enthält.

Viele Grüße Gisbert

Ja, die .zip enthält alle, die Auswahl nimmt man in der platform.ini vor (wenn man platformio nutzt), der dritte Punkt meiner Kurzanleitung.

Gisbert

#8
Hallo RappaSan,

ich hänge jetzt bei der Kompilierung in sonoff.ino,  ich hab's mit der ESP8266 Board version 2.5.2-Version probiert:

In file included from c:\users\gisbert\documents\arduino_portable\arduino-1.8.9-windows\arduino-1.8.9\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\algorithm:60:0,

                 from C:\Users\Gisbert\Documents\Arduino_portable\arduino-1.8.9-windows\arduino-1.8.9\portable\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266/Arduino.h:257,

                 from sketch\sonoff.ino.cpp:1:

c:\users\gisbert\documents\arduino_portable\arduino-1.8.9-windows\arduino-1.8.9\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\utility:68:28: fatal error: bits/c++config.h: No such file or directory

#include <bits/c++config.h>

                            ^

compilation terminated.

exit status 1
Error compiling for board Generic ESP8266 Module.


Dann steht noch in der sonoff.ino:
/*====================================================
  Prerequisites:
    - Change libraries/PubSubClient/src/PubSubClient.h
        #define MQTT_MAX_PACKET_SIZE 1000

    - Select IDE Tools - Flash Mode: "DOUT"
    - Select IDE Tools - Flash Size: "1M (no SPIFFS)"
  ====================================================*/

Die beiden letzten Punkte sind klar. PubSubClient.h befindet sich aber im Ordner: ...\portable\sketchbook\libraries\PubSubClient-EspEasy-2.7.12. Die PACKET_SIZE steht dort aber schon auf 1000, demnach auch erledigt.

Viele Grüße Gisbert

Edit: Ich hab noch ein Bild der Tool settings in Arduino eingefügt.
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Gisbert

Hallo RappaSan,

der Fehler tritt IMMER auf, egal welchen Sketch man versucht zu kompilieren.
Selbst bei diesem:
void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}


Irgendeine Idee, was ich bei der portablen Arduino-Installation falsch gemacht habe?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Gisbert

Hallo,

der Fehler mit der fehlenden c++config.h rührte wohl von einer misslungen portable-Installation her. Ich hab's jetzt wirklich portable gemacht, d.h. auf einem Stick, das hat funktioniert. Nach dem Kompilieren bekomme ich eine 558 kB große Binärdatei, die sich anstandslos flashen lässt (hierzu nutze ich esptool.exe).

Ich weiß jetzt wie man Tasmota mit einer portablen Arduino IDE kompiliert, aber wie geht es jetzt weiter?

Meine Ziele, für die ich Unterstützung benötige:

  • An welcher Stelle muss ich suchen, wenn ich ewtas hineinnehmen oder weg haben will?
  • Toggle: ich möchte dieses Wort bei Relais gegen ein oder mehrere sinnvollere Worte (bei mehreren Relais) austauschen
  • Ich möchte Sensoren nutzen, die bisher noch nicht in Tasmota enthalten sind - auch nicht in auskommentierter Form. Es gibt aber Arduinosketche und Bibliotheken dazu. Wo und wie füge ich das in Tasmota ein?

Last but not least: Wie lange muss ich mich Platformio rumschlagen, bis ich soweit bin wie jetzt mit der Arduino IDE?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

RappaSan

#11
Prima, daß es geklappt hat.
Die meisten Dinge kann man in my_user_config.h aktivieren/deaktivieren bzw. auf eigene Verhältnisse anpassen.
Wenn weitere Sensoren dazukommen sollen, muß man sich die Programmstruktur ansehen und evtl einen ähnlichen Sensor als Beispiel nehmen. Ist aber bestimmt nicht so trivial...

Gisbert

Hallo RappaSan,
vielen Dank für den Hinweis auf die my_user_config.h.

Hallo Thomas,
ich hab Platformio installiert, finde aber keinen Button (oder was auch immer), das folgendes macht:
6. kompilieren :)
Enweder stehe ich so was vom auf'm Schlauch oder in den Einstellungen in Platformio ist (noch) nicht sichtbar.
Dann noch 2 Fragen zum <Select Programmer> und Board Configuration: Wie werden die eingestellt?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome