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
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
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
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
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
Hallo Markus,
diese Firmware von Euch
EI-OT\tasmota-EI-OT_PCF8574_Relays_4MB_de_Script.bin_.gz\
Mfg Reinhard