Kannst du mir auch sagen, wie ich die soll_temp über mqtt ändern kann?
Muss das dann eine Globale Variable sein?
Kannst du mir auch sagen, wie ich die soll_temp über mqtt ändern kann?
Muss das dann eine Globale Variable sein?
Guten Morgen.
So wie es aussieht, lag es an der Bedingung (soll_temp-2).
Mit einer Variable geht es.
Wo schreibt man am besten das Delay hin, in eine Bedingung also hinter then oder zwischen zwei Bedingungen?
06:01:13.432 ......5...........
06:01:14.426 ......5...........
06:01:15.429 ......5...........
06:01:16.433 ......5...........
06:01:17.404 ......5...........
06:01:18.410 ......5...........
06:01:19.392 ......5...........
06:01:20.431 ......5...........
06:01:21.386 ......5...........
06:01:22.417 ......5...........
06:01:23.423 ......5...........
06:01:24.406 ......5...........
06:01:25.413 ......5...........
06:01:26.419 ......5...........
06:01:27.405 ......5...........
06:01:28.408 ......5...........
06:01:29.390 ......5...........
06:01:30.430 ......5...........
06:01:31.386 ......5...........
Alles anzeigen
Warum zählt der Zähler hoch? Ich verstehe das nicht, die Bedingung ist doch gar nicht erfüllt.
>D
soll_temp=25.2
tempeintritt=0
tempaustritt=0
relais=0
sperr_auf=0
freigabe=0
ventil_auf=0
ventil_zu=0
hm=0
>T
tempeintritt=DS18B20_1#Temperature
tempaustritt=DS18B20_2#Temperature
>S
if tempeintritt<28 and tempaustritt<(soll_temp-2) and sperr_auf==0 and ventil_auf==0
then
hm=hm+1
ventil_auf=1
=>Power1 1
print ventil_auf %ventil_auf%
print Zähler %hm%
endif
=>Publish /%topic%/input_number/soll_temperatur_pool %0soll_temp%
Alles anzeigen
18:16:33.430 Script: performs "Publish /wemos_Pool/input_number/soll_temperatur_pool 25"
18:16:33.436 MQT: /wemos_Pool/input_number/soll_temperatur_pool = 25
18:16:34.414 Script: performs "Power1 1"
18:16:34.422 MQT: stat/wemos_Pool/RESULT = {"POWER1":"ON"}
18:16:34.427 MQT: stat/wemos_Pool/POWER1 = ON
18:16:34.430 ventil_auf 1.00
18:16:34.432 Zähler 255.00
18:16:34.434 Script: performs "Publish /wemos_Pool/input_number/soll_temperatur_pool 25"
18:16:34.443 MQT: /wemos_Pool/input_number/soll_temperatur_pool = 25
18:16:35.417 Script: performs "Power1 1"
18:16:35.425 MQT: stat/wemos_Pool/RESULT = {"POWER1":"ON"}
18:16:35.430 MQT: stat/wemos_Pool/POWER1 = ON
18:16:35.433 ventil_auf 1.00
18:16:35.435 Zähler 256.00
Alles anzeigen
hier einmal mit weblog 3
19:57:09.419 CMD: Grp 0, Cmd 'POWER', Idx 1, Len 1, Pld 1, Data '1'
19:57:09.426 MQT: stat/wemos_Pool/RESULT = {"POWER1":"ON"}
19:57:09.429 MQT: stat/wemos_Pool/POWER1 = ON
19:57:09.431 ventil_auf 1.00
19:57:09.433 Zähler 355.00
19:57:09.435 tempeintritt 22.00
19:57:09.437 tempaustritt 24.60
19:57:09.440 Script: performs "Publish /wemos_Pool/input_number/soll_temperatur_pool 25"
19:57:09.441 SRC: Rule
19:57:09.444 CMD: Grp 0, Cmd 'PUBLISH', Idx 1, Len 48, Pld -99, Data '/wemos_Pool/input_number/soll_temperatur_pool 25'
19:57:09.450 MQT: /wemos_Pool/input_number/soll_temperatur_pool = 25
19:57:10.383 Script: performs "Power1 1"
19:57:10.385 SRC: Rule
19:57:10.388 CMD: Grp 0, Cmd 'POWER', Idx 1, Len 1, Pld 1, Data '1'
19:57:10.394 MQT: stat/wemos_Pool/RESULT = {"POWER1":"ON"}
19:57:10.398 MQT: stat/wemos_Pool/POWER1 = ON
19:57:10.401 ventil_auf 1.00
19:57:10.403 Zähler 356.00
19:57:10.405 tempeintritt 22.00
19:57:10.407 tempaustritt 24.60
19:57:10.409 Script: performs "Publish /wemos_Pool/input_number/soll_temperatur_pool 25"
19:57:10.411 SRC: Rule
19:57:10.414 CMD: Grp 0, Cmd 'PUBLISH', Idx 1, Len 48, Pld -99, Data '/wemos_Pool/input_number/soll_temperatur_pool 25'
19:57:10.420 MQT: /wemos_Pool/input_number/soll_temperatur_pool = 25
Alles anzeigen
das ist Arbeit- solch einen Skript aufzubauen und zu kontrollieren- geht auch nur mit weblog 3 richtig.
aberwas ist das für kurze Abfrage ?
... and not ventil_auf
und besser was in >F steht alles in >S
Ok, dann teste ich weiter.
Ist das denn richtig geschrieben "and not"?
Danke für den Hinweis.
Kannst du mir sagen, warum er die Bedingung ausführt obwohl sie nicht wahr ist?
14:07:40.447 Script: performs "Power1 1"
14:07:40.454 MQT: stat/wemos_Pool/RESULT = {"POWER1":"ON"}
14:07:40.459 MQT: stat/wemos_Pool/POWER1 = ON
14:07:40.462 1.00
14:07:40.548 Script: performs "Power1 1"
14:07:40.555 MQT: stat/wemos_Pool/RESULT = {"POWER1":"ON"}
14:07:40.560 MQT: stat/wemos_Pool/POWER1 = ON
14:07:40.562 1.00
14:07:40.648 Script: performs "Power1 1"
14:07:40.655 MQT: stat/wemos_Pool/RESULT = {"POWER1":"ON"}
14:07:40.660 MQT: stat/wemos_Pool/POWER1 = ON
14:07:40.663 1.00
14:07:40.749 Script: performs "Power1 1"
14:07:40.756 MQT: stat/wemos_Pool/RESULT = {"POWER1":"ON"}
14:07:40.761 MQT: stat/wemos_Pool/POWER1 = ON
14:07:40.763 1.00
14:07:40.849 Script: performs "Power1 1"
14:07:40.856 MQT: stat/wemos_Pool/RESULT = {"POWER1":"ON"}
14:07:40.861 MQT: stat/wemos_Pool/POWER1 = ON
14:07:40.864 1.00
14:07:40.899 Script: performs "Publish /wemos_Pool/SENSOR/stromtest 25"
14:07:40.905 MQT: /wemos_Pool/SENSOR/stromtest = 25
14:07:40.950 Script: performs "Power1 1"
14:07:40.957 MQT: stat/wemos_Pool/RESULT = {"POWER1":"ON"}
14:07:40.962 MQT: stat/wemos_Pool/POWER1 = ON
14:07:40.964 1.00
14:07:41.050 Script: performs "Power1 1"
14:07:41.057 MQT: stat/wemos_Pool/RESULT = {"POWER1":"ON"}
14:07:41.062 MQT: stat/wemos_Pool/POWER1 = ON
14:07:41.065 1.00
Alles anzeigen
>D
soll_temp=25.2
temp1=0
temp2=0
relais=0
sperr_auf=0
freigabe=0
ventil_auf=0
ventil_zu=0
>T
temp1=DS18B20_1#Temperature
temp2=DS18B20_2#Temperature
>F
if temp1<28 and temp2<(soll_temp-2) and not sperr_auf=0 and not ventil_auf
then
ventil_auf=1
=>Power1 1
print %ventil_auf%
endif
if temp2=soll_temp
then
sperr_auf=1
endif
>S
=>Publish /%topic%/SENSOR/stromtest %0soll_temp%
Alles anzeigen
Hallo,
kann mir einer sagen was an diesem Skript falsch ist?
Ich versuche lediglich die Temperaturen einzulesen und dann das Relais schalten wenn die Temperatur den Grenzwert überschritten hat.
Hab schon einige Beispiele aus diesem Unterhaltung probiert, ich bekomme das nicht hin.
Viele Grüße
Habs gefunden, lag an ...DS18B20-1#Temp...muss mit einem _ geschrieben werden. Wurde in den ersten Beiträgen schon einmal geschrieben.
Trotzdem Danke.
weblog ?
Meinst was in der Konsole ausgegeben wird?
Hallo,
kann mir einer sagen was an diesem Skript falsch ist?
Ich versuche lediglich die Temperaturen einzulesen und dann das Relais schalten wenn die Temperatur den Grenzwert überschritten hat.
Hab schon einige Beispiele aus diesem Unterhaltung probiert, ich bekomme das nicht hin.
Viele Grüße
Hallo.
Hm schade. Danke für deine Mühe.
Gruß
Hallo,
danke für deine Antwort. Es handelt sich um das EmonTX Arduino Shield, kann man das auch dort mit einbinden?
Gruß
Stefan
Hallo,
kann mir einer sagen ob und wie man andere Sensoren, als die die man auswählen kann, in tasmota einbinden kann.
Ich habe ein Shield mit dem ich Strom und Spannung messen kann, das würde ich gerne mit einbinden.
Grüße
Stefan
Moin,
das verstehe ich jetzt nicht, warum muss ich einmal "COUNTER#C1" schreiben und einmal "counter1"?
Sorry für meine dummen Fragen.
Gruß
Hallo,
da hatte ich schon Stunden drinne verbracht, hatte es aber nicht hin bekommen. Das mit den >D >T >S hatte ich dort gelesen und auch mit gespielt.
Vielen Dank Gemu2015 für deine schnelle Hilfe.
Wie muss ich das denn schreiben, wenn ich den Counter auf 0 setzen will?
Counter<x> |
0 = reset Counter<x>1..64900 = preset Counter<x>-1..-64900 = decrease Counter<x>+1..+64900 = increase Counter<x>In order to define and use a Counter, *you must configure one of the free device GPIO as Counter<x> . Counter module configuration is using internal pull-up resistor while Countern does not. *
|
Gruß Stefan
Hallo Leute,
irgendwie verstehe ich das mit dem Script nicht
Ich versuche schon ewig was ganz einfaches, ich bekomme es aber irgendwie nicht hin.
Gibt es irgendwo eine gute Anleitung zum lesen, die Tasmota Wiki habe ich schon durch, damit bekomme ich es leider nicht hin.
Ich habe einen Zähler, der bei einem bestimmten Wert ein Relais schalten soll.
>D
if C1>5{
then power 1
}
endif
>D
Gruß
Stefan
Alles anzeigenDanke Dir.
ich habe mich mal dran probiert und folgende Anleitung genutzt:https://github.com/arendst/Tasmot…-Firmware-Build
Hierbei bekomme ich bis auf die minimal.bin immer ein failed nach dem Kompilieren.
Was ich Logfenster unten sehe ist:
Unicode decode error has occurred, please remove invalid (non-ASCII or non-UTF8) characters from /Users/***/Tasmota-development/tasmota/tasmot
a.ino.cpp file
Ich mache es unter MacOS X, falls das relevant ist.
Ich weiss, dass das nicht aussagekräftig ist, aber ich stelle auch gerne ein Log ein, wenn mir jemand sagt, wo
es zu finden ist.
Danke
Hey Hberger,
ich mache das immer mit dem online Compiler, damit hatte ich noch nie Probleme.
https://gitpod.io/#https://githu…7/tasmocompiler
Gruß
Stefan
Cool, vielen Dank.
Der Schaltplan ist in Ordnung, könntest vielleicht noch einen Hinweis hinzufügen
"Sicht von vorne auf die Linse ~ links - ~ rechts + "
Kann man bei den Zählern auch den NT auslesen und die einzelnen Leistungen und Ströme der Phasen?
Juhu,
habs geschafft...hatte den Sensor falsch angeschlossen. Habe es nach dieser Anleitung gemacht, vom Post 7.
Da ist jetzt ein 10kOhm Widerstand dran...