Hallo meierchen006
daran lag es nicht, nach wie vor die 3???
merkwürdig, ich glaube ich probiere später mal einen d1min oder so ob es dort auch ist
Danke
Gruß Jens
Hallo meierchen006
daran lag es nicht, nach wie vor die 3???
merkwürdig, ich glaube ich probiere später mal einen d1min oder so ob es dort auch ist
Danke
Gruß Jens
>B
->sensor53 r
Muss dass nicht
=> sein?
Sicher das du in der FW die du da auf dem esp01 hast, SML überhaupt kompiliert hast? also #define USE_SML ?
Hallo
bei mir sieht es so aus:
>B
->sensor53 r
tper=10
Alles anzeigenHallo
bei mir sieht es so aus:
>B
->sensor53 r
tper=10
ja ich war mir nicht mehr ganz sicher. Es gibt ja drei verschiedene Möglichkeiten. => -> +>
Hallo Zusammen, gemu2015
also es lag wohl mit am esp01, ich habe nun etliche Treiber deaktiviert.
ich vermute irgendeiner hat die GPIOs belegt...
dennoch:
Zum einen zählt er nicht sauber, es ist ein Reed-Kontakt der auf GND zieht.
Tasmota ist die release 8.4.0
und als weiteres , ich bekomme variablen nicht aufs Web.
da tauchen nur ??? auf egal wie
>D
var=0
>T
var=REGEN#Total_In
;---------------------------------------------------
>B
->sensor53 r
tper=10
;---------------------------------------------------
;-----Webdisplay
>W
REGEN Zählerstand
Liter: {m} %var%
aktuell: {m} %var%
>M
+1,2,c,1,10,REGEN
1,=h==============
1,1-0:1.8.0*255(@3,Menge,mm,Total_In,2
#
Alles anzeigen
das ist ja schon ein sehr einfacher script
Danke
Gruß Jens
AingTii Hinter dem >M fehlt eine 1.
Hallo Jens,
Dein script funktioniert bei mir.
Die 3 Fragezeichen kommen zu Stande wenn die Variable nicht gefunden wird.
Habe sowas schon erlebt wenn "unsichtbare" Zeichen im Spiel waren.
Lösche mal die Definitionszeile und schreibe sie neu, ebenso die Anzeige %var%
Sehe sonst keinen Grund warum das nicht gehen sollte.
Das unsaubere Zählen ist ein anderes Thema. Da musst du mit der Entprellung spielen.
Wurde an anderer Stelle schon mehrmals besprochen.
Wenn der Tasmota Counter funktioniert dann stelle auf IRQ, also negativer Parameter z.B. -50
Das entspricht dann dem Algorithmus von Tasmota.
Gruß Gerhard
Hallo AingTii
ändere mal bitte ab und teste danach
>D
var=0 >>>>> zu >>>> v1=0
>T
var=REGEN#Total_In >>>>> zu >>>>>> v1=REGEN#Total_In
so sieht es nämlich bei mir aus!
Hallo sunburstc ,
in #1235 hattest du geschrieben:
Du könntest auch noch Zeichen einsparen indem du einfach diesen Teil zu einem kompletten String machst:
%s1%/%topic%/tele/
So da stehe ich nun und es will bei mir nicht wie es soll:
Mein String unter
>D
s1=" SmartHome/Garage"
Mein Publish unter
>S
min=int(time/1)
if chg[min]>0
then
=>Publish %s1%/%topic%/tele/Temperatur %2v1%
=>Publish %s1%/%topic%/tele/Luftfeuchte %2v2%
=>Publish %s1%/%topic%/tele/Tor_zu %ps0%
=>Publish %s1%/%topic%/tele/Tor_auf %ps1%
=>Publish %s1%/%topic%/tele/Tor_Lüften %ps2%
endif
So soll mein Fulltopic nachher aussehen:
14:28:00 Script: performs "Publish SmartHome/Garage/30-Wemos/tele/Tor_Lüften 1.00"
14:28:00 MQT: SmartHome/Garage/30-Wemos/tele/Tor_Lüften = 1.00
Das sind die MQTT-Einstellungen:
Wie würdest du den "s1" String jetzt zusammensetzen?
Hallo Zusammen,
aufgrund Gerhard's hinweis habe ich das nochmal neu aufgebaut und nicht kopiert.
Erstmal nur eine variable und web => geht
dann die variable in teleperiod gefüllt => geht
dann unten unter >M den Meter angelegt => geht
dann unter >B sensor geladen => geht
packe ich dort allerdings tper=5 oder tper=10 geht es nicht, dann kommen die ???
Bezüglich Zähler scheint in dem Fall für den Regenmengenmesser mit Reedkontakt wirklich der IRQ modus besser zu gehen.
Vielleicht ist es aber auch wirklich nur so ein entprellwert den man besser bestimmen muss.
Aber eigentlich genial, eine ganze Station , Display, Außenfühler, Regenmengenmesser, mit innen und Außen Temperatur und Luftfeucht
wie 6,99€
Nun rüste ich den Regenmengenmesser mit einem ESP01 und Tasmota aus und zack, hat man es in der Automation.
meierchen006
der Variablenname hatte also nichts damit zu tun, natürlich ist v1 usw. für große scripte platzsparender
Ich habe aber das Gefühl, im neuen Tasmota habe ich mehr Zeichen frei, momentan noch 2405.
Danke
Gruß Jens
Hallo AingTii ,
hast du Bilder vom Aufbau deines Regenmesser evtl. können wir besser in einem eigenen Thema besprechen, um hier nicht zuzumüllen.
meierchen006
Alles anzeigenHallo Zusammen,
aufgrund Gerhard's hinweis habe ich das nochmal neu aufgebaut und nicht kopiert.
Erstmal nur eine variable und web => geht
dann die variable in teleperiod gefüllt => geht
dann unten unter >M den Meter angelegt => geht
dann unter >B sensor geladen => geht
packe ich dort allerdings tper=5 oder tper=10 geht es nicht, dann kommen die ???
Bezüglich Zähler scheint in dem Fall für den Regenmengenmesser mit Reedkontakt wirklich der IRQ modus besser zu gehen.
Vielleicht ist es aber auch wirklich nur so ein entprellwert den man besser bestimmen muss.
Aber eigentlich genial, eine ganze Station , Display, Außenfühler, Regenmengenmesser, mit innen und Außen Temperatur und Luftfeucht
wie 6,99€
Nun rüste ich den Regenmengenmesser mit einem ESP01 und Tasmota aus und zack, hat man es in der Automation.meierchen006
der Variablenname hatte also nichts damit zu tun, natürlich ist v1 usw. für große scripte platzsparender
Ich habe aber das Gefühl, im neuen Tasmota habe ich mehr Zeichen frei, momentan noch 2405.
Danke
Gruß Jens
Die niedrigste Einstellung für tper ist 10.
Lass die tper mal weg und stelle diese stattdessen allgemein ein. Also einfach in die console gehen und:
schreiben.So hast du sie ersteinmal aus dem Script entfernt.
Lass mal hören was dabei rumkommt.
Alles anzeigenHallo sunburstc ,
in #1235 hattest du geschrieben:
So da stehe ich nun und es will bei mir nicht wie es soll:
Mein String unter
>D
s1=" SmartHome/Garage"
Mein Publish unter
>S
min=int(time/1)
if chg[min]>0
then
=>Publish %s1%/%topic%/tele/Temperatur %2v1%
=>Publish %s1%/%topic%/tele/Luftfeuchte %2v2%
=>Publish %s1%/%topic%/tele/Tor_zu %ps0%
=>Publish %s1%/%topic%/tele/Tor_auf %ps1%
=>Publish %s1%/%topic%/tele/Tor_Lüften %ps2%
endif
So soll mein Fulltopic nachher aussehen:
14:28:00 Script: performs "Publish SmartHome/Garage/30-Wemos/tele/Tor_Lüften 1.00"
14:28:00 MQT: SmartHome/Garage/30-Wemos/tele/Tor_Lüften = 1.00
Das sind die MQTT-Einstellungen:
Wie würdest du den "s1" String jetzt zusammensetzen?
Mir wird aus deiner Beschreibung nicht deutlich, wie die Nachricht in der Console aktuell aussieht, und wie sie aussehen soll.
Benötigst du denn das Fulltopic?
Als ein guter Anhaltspunkt würde z.b. die Ausgabe in der ursprünglichen >J Sektion sein.
Oder hattest du diese nicht verwendet?
Vielleicht auch einfach mal eine normale Teleperiod von dir posten, da kann mann dann auch schon einiges von ableiten.
AingTii Oh worum gehts? Ich möchte das auch gerne sehen!
Hallo sunburstc
Sektion >J nutze ich nicht!
Ich würde gerne den Fulltopic beibehalten da alle meine anderen Geräte den auch so nutzen, muss aber nicht zwangsläufig sein, gerne aber.
Das größte Problem ist das immer wenn ich daran was ändere dass ich dann immer in ioBroker solche "Geistergeräte" habe,
die dann wiederum nicht weg bekomme.
Zitataus der Konsole:
21:26:52 MQT: SmartHome/Garage/30-Wemos/tele/STATE = {"Time":"2020-08-27T21:26:52","Uptime":"0T01:36:16","UptimeSec":5776,"Heap":29,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"POWER1":"","POWER2":"","Wifi":{"AP":1,"SSId":"WLannister","BSSId":"C0:25:06:EB:B1:7C","Channel":13,"RSSI":70,"Signal":-65,"LinkCount":2,"Downtime":"0T00:00:08"}}
21:26:52 MQT: SmartHome/Garage/30-Wemos/tele/SENSOR = {"Time":"2020-08-27T21:26:52","BME280":{"Temperature":24.3,"Humidity":36.6,"Pressure":981.0,"SeaPressure":1013.6},"PressureUnit":"hPa","TempUnit":"C"}
21:41:37 Script: performs "Publish SmartHome/Garage/30-Wemos/tele/Tor_Lüften 1.00"
21:41:37 MQT: SmartHome/Garage/30-Wemos/tele/Tor_Lüften = 1.00
>D
s1=" SmartHome/Garage/%topic%/tele" hatte ich schon getestet das zerwirft mit alles
s1=" SmartHome/Garage/topic/tele" hatte ich schon getestet das funktioniert auch nicht mit alles
Zu den Geistergeräten in ioBroker:
Die würde ich gerne mal loswerden.
Unter "Energie" und "Wetter" sind noch einige mehr von diesen. Die Datenpunkte in Influxdb habe ich alle schon gelöscht, hier habe ich auch noch keine Lösung gefunden.
meierchen006
Ok. Ich denke ich weiß jetzt wo der Fehler ist.
=>publish %s4%%topic%%s5% {"Temperatur":%2v1%,"Luftfeuchte":%2v2%,"Tor_zu":%ps0%,"Tor_auf":%ps1%,"Tor_Lüften":%ps2%}
ALTERNATIV:
=>publish %s4%%topic%%s5% {"BME280":{"Temperatur":%2v1%,"Luftfeuchte":%2v2%},"TOR":{"zu":%ps0%,"auf":%ps1%,"Lüften":%ps2%}}
Also, wenn bei dir das mit dem Fulltopic und dem iobroker sonoff adapter funktioniert, dann wundert es mich. habe es gerade genauso eingestellt wie bei dir und bekomme keine Datenpunkte im sonoff Adapter.
Weder an der Teleperiod noch wenn ich es via script publish mache.
Ich habe bei mir alle MQTT Einstellung auf Standard belassen und schicke meinen Bachwasserstand so:
Bzgl. der DP in iobroker. Falls dein script dann richtig läuft, solltest du sie löschen können. Ansonsten hast du vielleicht irgendwelche Retain messages? Ich weiß nicht ob es daran liegen kann.
Hallo sunburstc
bin am testen wegen den topic's an MQTT
Ziel ist ja Zeichen im Script einzusparen!
so soll das Ziel aussehen:
13:01:37 Script: performs "Publish SmartHome/Garage/30-Wemos/tele/Luftfeuchte xx"
oder
13:01:37 Script: performs "Publish SmartHome/Garage/30-Wemos/tele/Temperatur xx"
neuer Versuch im mit dem Temperaturwert:
ZitatAlles anzeigen>D 25
s1=" SmartHome/Garage"
s2="%topic%tele"
>S
=>Publish %s1%/%s2%/Temperatur %2v1%
Ergebnis in der Konsole:
13:10:00 Script: performs "Publish SmartHome/Garage/%topic%tele/Temperatur 15.90"
ZitatAlles anzeigen>D 25
s1=" SmartHome/Garage"
s2="%topic%/tele"
>S
=>Publish %s1%/%s2%/Temperatur %2v1%
Ergebnis in der Konsole:
13:16:36 Script: performs "Publish SmartHome/Garage/%topic%/tele/Temperatur 16.10"
ZitatAlles anzeigen>D 25
s1=" SmartHome/Garage"
s2="topic/tele"
>S
=>Publish %s1%/%s2%/Temperatur %2v1%
Ergebnis in der Konsole:
13:20:08 Script: performs "Publish SmartHome/Garage/topic/tele/Temperatur 0.00"
ZitatAlles anzeigen>D 25
s1=" SmartHome/Garage/30-Wemos/tele/"
>S
=>Publish %s1%/Temperatur %2v1%
Ergebnis in der Konsole:
13:26:08 Script: performs "Publish SmartHome/Garage/30-WemosTor zuTemperatur 0.00"
Also,
zu den oben habe ich noch einige mehr getestet, keines bringt mich zu meiner gewünschten Lösung!
Ich werde bei meiner bisherigen Lösung bleiben müssen! Es sei denn es hat noch jemand eine Lösung!
Hallo sunburstc
Zitat
Bzgl. der DP in iobroker. Falls dein script dann richtig läuft, solltest du sie löschen können. Ansonsten hast du vielleicht irgendwelche Retain messages? Ich weiß nicht ob es daran liegen kann.
So diese Retain messages habe ich tatsächlich:
Jetzt muss ich noch eine Lösung finden um diese zu löschen!
Du kannst %topic% nicht als als String in eine Variable abspeichern. Sie wird nicht aufgelöst sondern als ein String also als eine solcher auch verwendet.
Das heißt: Wenn du ein Variablenbezeichnung in eine String Var speicherst, dann wird es auch immer nur ein Name bleiben.
zb:
>D
var1=10
s1="%var1% Chinesen mit nem Kontrabass"
>S
=>print %s1%
Console: %var1% Chinesen mit nem Kontrabass
Deshalb hatte ich die beiden Sachen die keine Variablen sind in String Vars gespeichert und dann das %topic% dazwischen gehauen.
Also:
>D
var1=10
s1="Die "
s2=" Chinesen mit nem Kontrabass"
>S
=>print %s1%%0var1%%s2%
Console: Die 10 Chinesen mit nem Kontrabass
Also in dem Falle den du gerne hättest:
Publish SmartHome/Garage/30-Wemos/tele/Temperatur xx"
>D
s4="SmartHome/Garage/"
s5="/tele/"
v1=22
>S
=>publish %s4%%topic%%s5%Temperatur %0v1%
Console:
14:25:10 Script: performs "publish SmartHome/Garage/ESP32Bachwasserstand/tele/Temperatur 1"
14:25:10 MQT: SmartHome/Garage/ESP32Bachwasserstand/tele/Temperatur = 1
Lass mich jedoch anmerken, dass ich deine Struktur äußerst seltsam finde. Wenn das bei dir so funktioniert ist das gut. Allerdings wesentlich einfacher und Zeichensparender ist die Variante die sich aus den Standardeinstellungen ergibt:
=>publish tele/%topic%/SENSOR {"Temperatur":%2v1%,"Luftfeuchte":%2v2%,"Tor_zu":%ps0%,"Tor_auf":%ps1%,"Tor_Lüften":%ps2%}
;ALTERNATIV:
=>publish tele/%topic%/SENSOR {"BME280":{"Temperatur":%2v1%,"Luftfeuchte":%2v2%},"TOR":{"zu":%ps0%,"auf":%ps1%,"Lüften":%ps2%}}
Weil du in dem Falle mit einem Aufruf direkt alle Werte verschicken kannst. Was passiert denn wenn du genau diesen Syntax verwendest?
Bzgl. Retain messages: