NEWS
Gleichung in Blockly
-
@nordischerjung sagte in Gleichung in Blockly:
So wäre die Formel ausgeschrieben, C1,C2,C3 sind die Koeffizienten für die Fühler die ich einsetze
die Formel kannste doch auch direkt in espeasy setzen und damit die Berechnung auf em ESP lassen womit direkt die richtigen Werte reinkommen ?
Habe ich mit ESPHome auch so gelöst, z.b. fuer nen feucht sensor (auch ADC)
Nur da macht man es direct in de YAML
sensor: - platform: adc pin: 35 # unit_of_measurement: '%' attenuation: 11db accuracy_decimals: 4 filters: - median: window_size: 7 send_every: 5 send_first_at: 1 filters: - lambda: |- if (x > 1.1) { return 0; } else if (x < 0.51) { return 100; } else { return (1.1-x) / (1.1-0.51) * 100.0; } name: "Palm Luca" update_interval: 5s
da de resp doch eigentlich garnis zu tun hat, wuerde ich die logic da lassen und werte direkt sauber in iobroker reinkommen lassen, so wird der ADC wert vom volt umgerechnet nach %
-
@dutchman Wo soll ich die Formal da schreiben? Unten im Feld bei Values?
-
@nordischerjung sagte in Gleichung in Blockly:
@dutchman Wo soll ich die Formal da schreiben? Unten im Feld bei Values?
-
@dutchman Ja das kenne ich, aber damit bekomme ich doch nicht die Formel berechnet. Ich kann nicht mal die ganze Formel dort eintragen
-
@nordischerjung sagte in Gleichung in Blockly:
@dutchman Ja das kenne ich, aber damit bekomme ich doch nicht die Formel berechnet. Ich kann nicht mal die ganze Formel dort eintragen
eh doch... musst die Formel nur richtig aufbauen das geht
das ist doch deine Formel ?
Temp = (1.0 / (c1 + c2 * ADC-Wert + c3 * ADC-Wert *ADC-Wert * ADC-Wert)); // in Kelvin Temp = Temp - 273.15; // von Kelvin nach Grad Celsius
da sind schonmal 2 Berechnungen drin das muss zurueck zur einer Formel, z.b.:
(1.0 / (c1 + c2 * ADC-Wert + c3 * ADC-Wert *ADC-Wert * ADC-Wert)) - 273.15
der ADC wert (vom sensor) ist eine variable %value%, also ungefähr so :
(1.0 / (c1 + c2 * %value% + c3 * %value% *%value% * %value%)) - 273.15
und mathematisch sichere waehre :
(1.0 / (c1 + (c2 * %value%) + ((c3 * %value%) *%value% * %value%))) - 273.15
-
@dutchman Hmm
mehr geht da nicht reinzuschreiben. Normalerweise müsste die Formel dann so aussehen
(1.0 / (0.001129148 + 0.000234125 * (%value% / (1024 - %value%)) + 0.0000000876741 * (%value% / (1024 - %value%)) * (%value% / (1024 - %value%)) * (%value% / (1024 - %value%)))) - 273.15
-
@nordischerjung sagte in Gleichung in Blockly:
@dutchman Hmm
mehr geht da nicht reinzuschreiben. Normalerweise müsste die Formel dann so aussehen
(1.0 / (0.001129148 + 0.000234125 * (%value% / (1024 - %value%)) + 0.0000000876741 * (%value% / (1024 - %value%)) * (%value% / (1024 - %value%)) * (%value% / (1024 - %value%)))) - 273.15
dan ist der Webinterface abgeschnitten, es geht definitiv länger oder nimm halt ESPHome
-
@dutchman sagte in Gleichung in Blockly:
dan ist der Webinterface abgeschnitten, es geht definitiv länger oder nimm halt ESPHome
damit hab ich mich ja noch gar nicht befasst
-
@nordischerjung sagte in Gleichung in Blockly:
@dutchman sagte in Gleichung in Blockly:
dan ist der Webinterface abgeschnitten, es geht definitiv länger oder nimm halt ESPHome
damit hab ich mich ja noch gar nicht befasst
Du hast 3 moeglichkeiten
- die Formel in espeasy entragen auch wen man es nicht sieht
- die Berechnung in nem blockly/javascript machen
- umstellen auf ESPHome und es damit machen, hier meine docu dazu : https://drozmotix.github.io/languages/de/Adapter/ESPHome/01.basics.html
-
und bei Interesse hier mal ne Beispiel config der analogen sensor
sensor: - platform: adc pin: 35 # unit_of_measurement: '%' <<< wen du as # wecknimmst kan man hier die Einheit übergeben attenuation: 11db accuracy_decimals: 4 filters: - median: window_size: 7 send_every: 5 send_first_at: 1 # filters: # - lambda: |- # if (x > 1.1) { # return 0; # } else if (x < 0.51) { # return 100; # } else { # return (1.1-x) / (1.1-0.51) * 100.0; # } name: "Palm Luca" update_interval: 5s
Info zu den filtern : https://esphome.io/components/sensor/index.html
beispiel meiner dev Umgebung, dhabe die Berechnung momentan kurz ausgeschaltet da ich es anders ueebewache
-
@dutchman dann hat der Wemos nicht mehr die ESPeasy Seite, richtig? Ich habe dort den 4-fach Analog ADS1115 und ein AZDelivery 0,96 Zoll OLED Display I2C SSD1306 Chip 128 x 64 Pixel dran. muss das dann komplett neu eingegeben werden oder wird das von ESPHome direkt übernommen. Muss mich damit mal beschäftigen. Vielleicht ja heute Abend
-
@nordischerjung sagte in Gleichung in Blockly:
@dutchman dann hat der Wemos nicht mehr die ESPeasy Seite, richtig? Ich habe dort den 4-fach Analog ADS1115 und ein AZDelivery 0,96 Zoll OLED Display I2C SSD1306 Chip 128 x 64 Pixel dran. muss das dann komplett neu eingegeben werden oder wird das von ESPHome direkt übernommen. Muss mich damit mal beschäftigen. Vielleicht ja heute Abend
muss man übernehmen, die Sensoren kannst so übernehmen wie in der yaml display ist kleines bissl komplizierten man kan aber die sensor werte Director aufs display geben
https://esphome.io/components/display/index.htmlhab mich bis jetzt noch nicht wirklich mit displays bescchaeftigt, haupsaechlich Sensoren und Autoren hab dazu auch noch n issue offen beim adapter.
was soll das display bei dir machen ?
-
@dutchman im Display zeige ich die Werte, uhrzeit und IP Adresse an
-
@nordischerjung sagte in Gleichung in Blockly:
@dutchman im Display zeige ich die Werte, uhrzeit und IP Adresse an
ah na dan easy. das geht alles in der yaml
beispiel :
sensor: - platform: ... # ... id: my_sensor display: - platform: ... # ... lambda: |- it.printf(0, 0, id(my_font), "The sensor value is: %.1f", id(my_sensor).state); // If the sensor has the value 30.02, the result will be: "The sensor value is: 30.0"
man muss en syntax einmal verstehen, imm Grunde machst du hier einen sensor, dem sensor gibts du ne variable (in diesem all my_sensor) und dan kannste beim Display deinen text aufbauen und die texte variable einfuellen
-
@dutchman sagte in Gleichung in Blockly:
id(my_font), "The sensor value is: %.1f", id(my_sensor).state)
Ich bin gerade dabei mit ESPHome umzugehen, wie mache ich das hier?
und wie bekomme ich die Formel jetzt an die Eingänge?
-
@nordischerjung sagte in Gleichung in Blockly:
@dutchman sagte in Gleichung in Blockly:
id(my_font), "The sensor value is: %.1f", id(my_sensor).state)
Ich bin gerade dabei mit ESPHome umzugehen, wie mache ich das hier?
und wie bekomme ich die Formel jetzt an die Eingänge?
Zeig mal deine yaml bitte
-
@dutchman sagte in Gleichung in Blockly:
Zeig mal deine yaml bitte
Moin,
esphome: name: grill platform: ESP8266 board: d1_mini_pro #esp01_1m # Enable logging logger: <<: !include secrets.yaml captive_portal: font: - file: "Arial.ttf" id: my_font size: 20 # Activate i2c bus i2c: sda: D2 scl: D1 scan: True id: bus_a #Display OLED SSD 1306 128x64 display: - platform: ssd1306_i2c model: "SSD1306 128x64" reset_pin: D0 address: 0x3C lambda: |- it.print(0, 0, id(my_font), "Grilltemperatur: %.0f °C", id(gt).state) #ADS1115 4x AnalogIn ads1115: - address: 0x48 #Sensor 0 sensor: - platform: ads1115 multiplexer: 'A0_GND' gain: 6.144 name: "Grilltemperatur" id: "gt" #Sensor 1 - platform: ads1115 multiplexer: 'A1_GND' gain: 6.144 name: "Fleischtemperatur1" id: "ft1" #Sensor 2 - platform: ads1115 multiplexer: 'A2_GND' gain: 6.144 name: "Fleischtemperatur2" id: "ft2"
Benötige ich die capitve_portal Zeile?
Ich hab die WiFi Einstellung in der Secret.yaml ausgelagert, kann ich dort auch einfach 2 Wifi Neztwerke hinterlegen unter wifi (nicht den Fallback)? -
@nordischerjung sagte in Gleichung in Blockly:
Moin,
moinse, deine yaml hat nen Fehler
@nordischerjung sagte in Gleichung in Blockly:
Ich hab die WiFi Einstellung in der Secret.yaml ausgelagert, kann ich dort auch einfach 2 Wifi Neztwerke hinterlegen unter wifi (nicht den Fallback)?
https://esphome.io/components/wifi.html
Starting with version 1.10.0, you can give ESPHome a number of WiFi networks to connect to. ESPHome will then attempt to connect to the one with the highest signal strength.To enable this mode, remove the ssid and password options from your wifi configuration and move everything under the networks key:
# Example configuration entry wifi: networks: - ssid: FirstNetworkToConnectTo password: VerySafePassword - ssid: SecondNetworkToConnectTo password: VerySafePassword # Other options # ...
-
@dutchman sagte in Gleichung in Blockly:
moinse, deine yaml hat nen Fehler
Ja ich weiß
nur, wie behebe ich den? Weil er mit font nicht klar kommt. Wie installiere ich das? -
@nordischerjung sagte in Gleichung in Blockly:
nur, wie behebe ich den? Weil er mit font nicht klar kommt. Wie installiere ich das?
was soll my_font sein, ist ne variable die du nirgendwo definiert hast ?
dir fehlt das hier :
font: - file: "fonts/Comic Sans MS.ttf" id: my_font size: 20