Forum

Tasmota Script
 
Benachrichtigungen
Alles löschen

Tasmota Script

5 Beiträge
2 Benutzer
1 Reactions
340 Ansichten
1
[#82]
Themenstarter

Hallo, ich könnte Hilfe gebrauchen.

Vohanden ist ein Relaismodul und Esp8266+4MB sowie ein DS18b20.

Das Script von hier habe ich für den DS18b20 geändert und funktioniert prima.

Ich hätte gerne eine Temperaturreglung dazu, leider habe ich es nicht geschafft.

Wenn es möglich ist, würde ich mich sehr freuen, wenn mir jemand das einbauen würde.

Script angehängt

 

MfG Reinhard


Themenstarter
03/06/2026 6:13 a.m.

Hallo Markus,

ich habe extra für diese Sache den Esp8266+4MB von Euch gekauft.

Bitte um Nachsicht, habe mich erst seid Herbst damit beschäftigt.
Und habe nie mit programmieren zu tun gehabt.

Und mit 78 damit anzufangen..........

Darum meine Bitte um Unterstützung.

 

MfG Reinhard


4 Antworten
0

Hi Reinhard,

leider unterstützt das Forum aktuell keine Anhänge (zu viel Spam) kannst Du das Script einfach mal als Text posten.

Warum eigentlich Script und nicht Rule, mit einer Rule dürfte das relativ einfach zu bewerkstelligen sein,
wenn ich es richtig verstehe wenn DS18B20 Temperatur über ?? dann Relais an, wenn DS18B20 Temperatur unter ?? Relais aus ...

 

Grüße

Markus


0
Themenstarter

Hallo Markus,

vielen Dank für die schnelle Antwort.

Hier das Script.

>D 48
temp=0

fr=0
res=0
cnt=0

M:mtemp=0 300
str=""

>B
download Verweis
;fl1("DS18B20-log.txt")
; aktuelle Log-Datei löschen
;fd("DS18B20-log.txt")

fr=fo("/" 0)
for cnt 1 20 1
res=fr(str fr)
if res>0
then
print %cnt% : %str%
else
break
endif
next
fc(fr)

>T
temp=DS18B20#Temperature

>W
Datum{m}%s(2.0day)%.%s(2.0month)%.%s(2.0year)% - %s(2.0hours)%:%s(2.0mins)%:%s(2.0secs)%

>S
mtemp=temp

if ((upsecs%300==0 and ((mtemp!=otemp))
then

fr=fo("DS18B20-log.txt" 2)
; String mit Tabulator erzeugen
str=tstamp+"\t"+s(mtemp)+"\n"

otemp=mtemp

res=fw(str fr)
DS18B20-log.txt schliessen
fc(fr)
endif

>R

 

MfG Reinhard


0

Da ich gerade an unserem neuen 2 Kanal Sensor Relais sitze hier mal kurz zwei Rules

Zunächst ich weiß nicht welche Firmware Du verwendest, unsere Kompilierungen unterstützen DS18B20 Alias, das heißt

- man kann pro 1-wire Bus bis zu 8 DS18B20 betreiben, hier wird es dann schnell sehr unübersichtlich
  und mit der Alias Klasse kann man mittels einer Rule beim Booten den jeweiligen DS18B20 Sensor
  über die ID einem festen Namen zuordnen

Gib hierzu einfach DS18Alias in die Kommandozeile der Konsole ein dann wird für jeden DS18B20 eine ID ausgegeben

{"Id":"5C0000006A1B5528"}

Diese ID verwendet man nun in einer Rule die beim Booten den DS18B20 einen Namen zuweist,
hier im Beispiel Sensor_1, selbstredend musst Du Deine ID verwenden

Rule1 ON System#Boot DO Backlog DS18Alias 5C0000006A1B5528, Sensor_1 ENDON

DRÜCKE DIE TASTE ENTER

aktiviere dir Rule1 durch Eingabe Rule1 1 DRÜCKE DIE TASTE ENTER

Starte den ESP8266 neu und im Webinterface erscheint

Sensor_1 Temperatur xx,x °C

Nun muss lediglich die Rule zur Temperaturregelung gesetzt werden, hier im Beispiel

wenn Temperatur Sensor_1 > 27°C schalte Relais 1 an ... wenn Temperatur Sensor_1 < 27°C schalte Relais 1 aus

habe ich - da übersichtlicher - als Rule2 gesetzt

Rule2 ON Sensor_1#Temperature> 27 DO Power1 ON ENDON ON Sensor_1#Temperature< 27 DO Power1 OFF ENDON

DRÜCKE DIE TASTE ENTER

aktiviere dir Rule2 durch Eingabe Rule2 1 DRÜCKE DIE TASTE ENTER

das wars dann auch schon

Nochmal kurz zu den DS18B20 Aliasen hat man mehrere Sensor kann man die Rule1 beliebig durch Semikolon erweitern,
zum besseren Verständnis

Rule1 ON System#Boot DO Backlog DS18Alias 5C0000006A1B5528, Sensor_1;  DS18Alias 5C00234506A1C46721, Sensor_2 ENDON

Gleichermassen könnte man die Rule2 erweitern

Rule2 ON Sensor_1#Temperature> 27 DO Power1 ON ENDON ON Sensor_1#Temperature< 27 DO Power1 OFF ENDON ON Sensor_2#Temperature> 24 DO Power2 ON ENDON ON Sensor_2#Temperature< 24 DO Power2 OFF ENDON

Grüße

Markus


0
Themenstarter

Hallo Markus,

diese Firmware von Euch

EI-OT\tasmota-EI-OT_PCF8574_Relays_4MB_de_Script.bin_.gz\

 

Mfg Reinhard


Teilen: