Hallo,
ich habe vor ein paar Tagen eine Gosund SP1 umgeflasht und versuche gerade damit eine Auswertung meiner Waschmaschine.
Ich habe mich dabei zum einen hieran (https://forum.fhem.de/index.php/topic,90220.msg826734.html#msg826734) und zum anderen an diesem Thread (https://forum.fhem.de/index.php/topic,91072.0.html) orientiert.
Nur leider will das Ganze nicht so, wie es soll.
Die Gosund Steckdose wurde als MQTT2 Device angelegt:
Internals:
CID DVES_09DE70
DEF DVES_09DE70
DEVICETOPIC wk.waschmaschine
FUUID 6039389f-f33f-f310-6c45-dbba44058287c267
IODev MQTT2_Server
LASTInputDev MQTT2_Server
MQTT2_Server_MSGCNT 956
MQTT2_Server_TIME 2021-02-27 14:41:36
MSGCNT 956
NAME wk.waschmaschine
NR 325
STATE
fertig
| Strom: 0.0 A
| Energie heute: 0.2 kWh
| Energie total: 2.4 kWh
|
TYPE MQTT2_DEVICE
JSONMAP:
Channel_0 0
Channel_1 0
Channel_2 0
Channel_3 0
Channel_4 0
Color 0
Dimmer 0
HSBColor 0
POWER1 0
POWER2 0
POWER3 0
POWER4 0
READINGS:
2021-02-27 14:41:36 ENERGY_ApparentPower 0.00
2021-02-27 14:41:36 ENERGY_Current 0.000
2021-02-27 14:41:36 ENERGY_Factor 0.00
2021-02-27 14:41:36 ENERGY_Period 0.01
2021-02-27 14:41:36 ENERGY_Power 0.00
2021-02-27 14:41:36 ENERGY_ReactivePower 0.00
2021-02-27 14:41:36 ENERGY_Today 0.214
2021-02-27 14:41:36 ENERGY_Total 2.402
2021-02-27 14:41:36 ENERGY_TotalStartTime 2021-02-22T17:59:00
2021-02-27 14:41:36 ENERGY_Voltage 231
2021-02-27 14:41:36 ENERGY_Yesterday 1.340
2021-02-27 14:41:36 Heap 27
2021-02-26 22:24:45 LWT Online
2021-02-27 14:41:36 LoadAvg 19
2021-02-27 14:41:36 MqttCount 3
2021-02-26 19:10:06 SaveData on
2021-02-26 19:10:06 SetOption26 on
2021-02-27 14:41:36 Sleep 50
2021-02-27 14:41:36 SleepMode Dynamic
2021-02-26 19:10:05 StateText1 off
2021-02-26 19:10:05 StateText2 on
2021-02-26 19:10:05 StateText3 toggle
2021-02-26 19:10:05 StateText4 hold
2021-02-27 14:41:36 Time 2021-02-27T14:41:36
2021-02-27 14:41:36 Uptime 0T19:35:12
2021-02-27 14:41:36 UptimeSec 70512
2021-02-27 14:41:36 Verbrauch 0
2021-02-27 14:41:36 Wifi_AP 1
2021-02-27 14:41:36 Wifi_BSSId B4:FB:E4:DA:7E:1F
2021-02-27 14:41:36 Wifi_Channel 1
2021-02-27 14:41:36 Wifi_Downtime 0T00:02:19
2021-02-27 14:41:36 Wifi_LinkCount 2
2021-02-27 14:41:36 Wifi_RSSI 62
2021-02-27 14:41:36 Wifi_SSId wifi24
2021-02-27 14:41:36 Wifi_Signal -69
2021-02-26 19:10:05 attrTemplateVersion 20200522 or prior
2021-02-27 14:41:36 state
2021-02-26 20:47:49 subscriptions cmnd/DVES_09DE70_fb/# cmnd/tasmota_09DE70/# cmnd/tasmotas/#
2021-02-27 13:36:38 washState 0
Attributes:
DbLogExclude .*
IODev MQTT2_Server
autocreate 0
comment NOTE: For on-for-timer SetExtensions are used. You may add on-for-timer option running on the device. The following is limited to 1h max duration, but will not affect future simple "on" commands:<br>on-for-timer {my $duration = $EVTPART1*10; 'cmnd/cmnd/tasmota_09DE70/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
devStateIcon on:rc_GREEN:off off:rc_RED:on offline:rc_BLUE:off
event-on-change-reading .*
genericDeviceType switch
icon message_socket
jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
model tasmota_basic_state_power1
readingList tele/tasmota_09DE70/LWT:.* LWT
tele/tasmota_09DE70/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota_09DE70/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota_09DE70/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota_09DE70/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
stat/tasmota_09DE70/POWER1:.* state
stat/tasmota_09DE70/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
room 7.6_MQTT2
setList on cmnd/wk.waschmaschine/POWER on
off cmnd/wk.waschmaschine/POWER off
setStateList on off toggle
stateFormat [$name:state]
[wk.waschmaschine_DOIF:state:r1]
| Strom: [$name:ENERGY_Current:r1] A
| Energie heute: [$name:ENERGY_Today:r1] kWh
| Energie total: [$name:ENERGY_Total:r1] kWh
|
userReadings state {ReadingsVal($name,"POWER","")}, Verbrauch difference {1000*ReadingsVal($name,"ENERGY_Total",0);;}
webCmd on:off
Und das DOIF
Internals:
DEF ([wk.waschmaschine:Verbrauch]>1)
(setreading wk.waschmaschine washState 1)
DOELSEIF ([wk.waschmaschine:ENERGY_Current]>0.025
and [wk.waschmaschine:ENERGY_Current]<0.042
and [wk.waschmaschine:washState] eq "1")
(setreading wk.waschmaschine washState 0)
DOELSEIF ([wk.waschmaschine:ENERGY_Current]>0.025
and [wk.waschmaschine:ENERGY_Current]<0.042
and [wk.waschmaschine:washState] eq "0")
(set telegrambot send @Testuser Fäddisch!)
FUUID 60394449-f33f-f310-16a0-9b4f930b18b0087f
MODEL FHEM
NAME wk.waschmaschine_DOIF
NOTIFYDEV global,wk.waschmaschine
NR 327
NTFY_ORDER 50-wk.waschmaschine_DOIF
STATE fertig
TYPE DOIF
VERSION 23790 2021-02-20 19:55:33
READINGS:
2021-02-27 14:36:59 Device wk.waschmaschine
2021-02-27 13:40:05 cmd 3
2021-02-27 13:40:05 cmd_event wk.waschmaschine
2021-02-27 13:40:05 cmd_nr 3
2021-02-27 14:36:59 e_wk.waschmaschine_ENERGY_Current 0.000
2021-02-27 14:36:36 e_wk.waschmaschine_Verbrauch 0
2021-02-27 13:40:05 error set telegrambot_maggi send ....
2021-02-26 19:59:08 mode enabled
2021-02-27 13:40:05 state fertig
2021-02-27 13:50:22 wait_timer no timer
Regex:
accu:
cond:
wk.waschmaschine:
0:
Verbrauch ^wk.waschmaschine$:^Verbrauch:
1:
ENERGY_Current ^wk.waschmaschine$:^ENERGY_Current:
washState ^wk.waschmaschine$:^washState:
2:
ENERGY_Current ^wk.waschmaschine$:^ENERGY_Current:
washState ^wk.waschmaschine$:^washState:
attr:
cmdState:
0:
arbeitet
1:
pausiert
2:
fertig
wait:
0:
300
waitdel:
condition:
0 ::ReadingValDoIf($hash,'wk.waschmaschine','Verbrauch')>1
1 ::ReadingValDoIf($hash,'wk.waschmaschine','ENERGY_Current')>0.025 and ::ReadingValDoIf($hash,'wk.waschmaschine','ENERGY_Current')<0.042 and ::ReadingValDoIf($hash,'wk.waschmaschine','washState') eq "1"
2 ::ReadingValDoIf($hash,'wk.waschmaschine','ENERGY_Current')>0.025 and ::ReadingValDoIf($hash,'wk.waschmaschine','ENERGY_Current')<0.042 and ::ReadingValDoIf($hash,'wk.waschmaschine','washState') eq "0"
do:
0:
0 setreading wk.waschmaschine washState 1
1:
0 setreading wk.waschmaschine washState 0
2:
0 set telegrambot_maggi send @Maggi Fäddisch!
3:
helper:
DEVFILTER ^global$|^wk.waschmaschine$
NOTIFYDEV global|wk.waschmaschine
event ENERGY_Power: 0.00,ENERGY_Voltage: 233,ENERGY_Factor: 0.00,ENERGY_ApparentPower: 0.00,Time: 2021-02-27T14:36:59,ENERGY_Current: 0.000,ENERGY_ReactivePower: 0.00
globalinit 1
last_timer 0
sleepdevice wk.waschmaschine
sleepsubtimer 0
sleeptimer -1
timerdev wk.waschmaschine
timerevent ENERGY_Current: 0.034,ENERGY_Period: 0.12,ENERGY_ReactivePower: 7.90,ENERGY_Voltage: 235,ENERGY_Factor: 0.19,ENERGY_ApparentPower: 8.00
triggerDev wk.waschmaschine
timerevents:
ENERGY_Current: 0.034
ENERGY_Period: 0.12
ENERGY_ReactivePower: 7.90
ENERGY_Voltage: 235
ENERGY_Factor: 0.19
ENERGY_ApparentPower: 8.00
timereventsState:
ENERGY_Current: 0.034
ENERGY_Period: 0.12
ENERGY_ReactivePower: 7.90
ENERGY_Voltage: 235
ENERGY_Factor: 0.19
ENERGY_ApparentPower: 8.00
triggerEvents:
ENERGY_Power: 0.00
ENERGY_Voltage: 233
ENERGY_Factor: 0.00
ENERGY_ApparentPower: 0.00
Time: 2021-02-27T14:36:59
ENERGY_Current: 0.000
ENERGY_ReactivePower: 0.00
triggerEventsState:
ENERGY_Power: 0.00
ENERGY_Voltage: 233
ENERGY_Factor: 0.00
ENERGY_ApparentPower: 0.00
Time: 2021-02-27T14:36:59
ENERGY_Current: 0.000
ENERGY_ReactivePower: 0.00
internals:
perlblock:
readings:
all wk.waschmaschine:Verbrauch wk.waschmaschine:ENERGY_Current wk.waschmaschine:washState
trigger:
uiState:
uiTable:
Attributes:
DbLogExclude .*
cmdState arbeitet|pausiert|fertig
room 7.6_MQTT2
wait 300
Problem dabei, der Verbrauch steht oft auf 0, mir scheint da irgendwie die Berechnung nicht zu funktionieren.
Ich verstehe aber auch die Berechnung des Verbrauchs nicht vollständig.
Verbrauch difference {1000*ReadingsVal($name,"ENERGY_Total",0);;}
Ich verstehe soviel, daß da die Differenz zwischen dem aktuellen und dem vorherigen ENERGY_Total Wert des wk.waschmaschine-Device berechnet wird, aber was bedeutet die 0 und die Semikolons am Ende des Ausdrucks?
Hier mal ein pastebin eines Waschmaschinen-Durchlaufs
https://pastebin.com/rweDvzv1 (https://pastebin.com/rweDvzv1)
Wenn ich das richtig sehe, bleibt der Verbrauch bei 0 obwohl sich der ENERGY_Total Wert sporadisch ändert.
Wo ist mein Fehler?
gm
Hi,
eigentlich steht doch die momentane Leistung in ENERGY_Power - ich würde einfach die auswerten.
Allerdings schwanken die Werte bei dieser Art "Meßdosen" teilweise sehr stark!
Zitataber was bedeutet die 0 und die Semikolons am Ende des Ausdrucks?
Das ; steht "aus Angst" dort und ist unnütz. Es trennt Perlbefehle, aber es kommt kein Weiterer und durch die } Klammer ist der Perl Block eh zu Ende.
Die 0 ist der Defaultwert wenn ReadingsVal() nichts lesen könnte, Details findest Du in der Doku: https://fhem.de/commandref_DE.html#perl
Gruß Otto
Hallo,
Zitateigentlich steht doch die momentane Leistung in ENERGY_Power - ich würde einfach die auswerten.
Das habe ich schon probiert, aber wie Du schon schriebst, die schwanken heftigst, deshalb wird da wohl auch ENERGY_Total ausgewertet, verstehe bloß nicht warum der Verbrauch dann immer 0 ist.
ZitatDetails findest Du in der Doku
Das hatte ich gesucht, aber vergessen wo das zu finden war. :o :-\
aber die difference bei Total ergibt doch auch wieder schwankende Werte?
Da musst Du mit event-aggregator https://fhem.de/commandref_DE.html#attributes was machen?
Das die Werte schwanken ist doch logisch, schließlich Verbraucht eine Waschmaschine schwankend. Am heftigsten ist dieses beim Schleudern, da der Verbrauch beim Hochdrehen sehr hoch ist, beim "stoppen" aber sehr nidrig (oder gliech 0). Analog beim heizen und und und ...
Haben wir hier in diversen Threads doch auch schon ausdiskutiert ...
bei den billigen "ESP Dosen" schwankt die Leistungmessung ohne Änderung der Leistung. Wobei das nur bei geringen Leistungen relevant sein sollte.
Das kommt dann noch dazu .... ;)
Sind schließlich keine "geeichten Messgeräte" sondern, wie mal ein Prof sagte, "Schätzeisen"
Heißt also im Klartext, das kann nicht funktionieren?
Hast Du denn mal einen Waschgang mitgeloggt? Ich denke schon das es funktioniert. Zeig doch mal einen Plot von ENERGY_Power
Einen Durchlauf habe ich im ersten Post schon verlinkt.
Plot müsste ich noch machen.
Zitat von: grossmaggul am 28 Februar 2021, 01:33:11
Einen Durchlauf habe ich im ersten Post schon verlinkt.
Ziemlich räudig ... warum nicht einfach als Datei am Post angehangen. Warum auf so einem blöden Werbeportal? Sorry das tu ich mir nicht an ...
Seit wann ist pastebin ein Werbeportal? Ich dachte das wäre Standard um lange Logauszüge zu posten.
Ich hab's nochmal hier angehängt.
Also ich kann auf der Seite vor Werbung kaum was erkennen, ein download hab ich mir nicht getraut, in der Ansicht konnte man nicht suchen.
Egal,
Ich sehe in deinem Log nur am Ende einen Wert von 0.00 von ENERGY_Power
Scheinbar ist die Schwelle für fertig so bei 10 Watt? So holprig sieht doch der Werte Verlauf nicht aus?
ZitatAlso ich kann auf der Seite vor Werbung kaum was erkennen
O.K., ich sehe davon wahrscheinlich nix, weil ich sowohl einen Adblocker im Browser als auch ein piHole laufen habe.
Ich werde nochmal was mit ENERGY_Power basteln, mal sehen ob das klappt, danke erstmal bis hierher.
Ich habe jetzt nochmal einen Probelauf gemacht und dabei ENERGY_Power ausgewertet, das hat eigentlich ganz gut funktioniert, nur scheint bei dem DOIF noch irgendwas nicht zu stimmen, denn obwohl ENERGY_Power jetzt seit einiger Zeit auf 0 steht, wird immer noch "arbeitet" angezeigt.
Ich komme aber nicht dahinter was da faul ist, vielleicht mag ja mal jemand drüber sehen.
([wk.waschmaschine:ENERGY_Power]>0)
(setreading wk.waschmaschine washState 1)
DOELSEIF ([wk.waschmaschine:ENERGY_Current]>0.025
and [wk.waschmaschine:ENERGY_Current]<0.042
and [wk.waschmaschine:washState] eq "1")
(setreading wk.waschmaschine washState 0)
DOELSEIF ([wk.waschmaschine:ENERGY_Current]>0.025
and [wk.waschmaschine:ENERGY_Current]<0.042
and [wk.waschmaschine:washState] eq "0")
(set telegrambot_maggi send @XXXXi Fäddisch!)
Im Anhang noch ein Plot von einem Waschgang
Hi,
ich habe nicht verstanden, warum Du Power und Current getrennt auswerten willst. Ich meine: relevant wäre Power, Current liefert die nahezu gleiche Info.
Ich würde nicht bei > 0 einsteigen.
Ich habe so ein Waschmaschine Dingens nicht, ich dachte das war hier schon hundertfach gelöst :)
Mal gestern probiert - sozusagen als Trockentest - ohne Waschmaschine:
Bei überschreiten von 20 wird das DOIF aktiv, bei unterschreiten von 2 für 5 sec meldet er fertig.
defmod di_wm DOIF ([$SELF:"^running:.0$"]) (set alias=Arbeitszimmer sayText fertig) DOELSEIF\
([d_Power:power] > 20 )(setreading $SELF running 1) DOELSEIF \
([d_Power:power] < 2 and [$SELF:running] eq '1')(sleep 1;;setreading $SELF running 0)\
attr di_wm cmdState speak|on|off
attr di_wm do resetwait
attr di_wm room TestPower
attr di_wm wait 0:0:5
defmod d_Power dummy
attr d_Power readingList power
attr d_Power room TestPower,Test
attr d_Power setList power:slider,0,1,100
attr d_Power stateFormat power
attr d_Power webCmd power
Gruß Otto
Zitatich habe nicht verstanden, warum Du Power und Current getrennt auswerten willst.
Die Waschmaschine hat eine Antiknitterstufe, d.h. nach dem Waschgang dreht sich alle paar Minuten mal kurz die Trommel.
Ich versuche mal Dein Konstrukt zu durchblicken.
dafür habe ich die Zeitverzögerung (wait) angedacht, muss man aber ev. anders machen.
Aber nochmal: Power (Momentanleistung) und Current verhalten sich synchron, egal ob es knittert. Wenn mehr Strom dann mehr Power ;)
Der Trockentest ist reine Spielerei, die verwendeten Werte haben nichts mit der Waschmaschine und deren Leistung zu tun.
Zitat von: Otto123 am 02 März 2021, 13:46:22
ich dachte das war hier schon hundertfach gelöst :)
das frage ich mich auch schon die ganze Zeit, warum muß ständig das Rad neu mit Ecken erfunden werden statt eines der vorhanden kreisrunden zu nehmen ?
https://forum.fhem.de/index.php/topic,48877.msg405802.html#msg405802 , Strom und Wartezeiten auf den eigenen Typ anpassen , fertig
Ich habe ja schon einiges gesucht und auch gefunden, aber gerade das nicht. :-\
Wahrscheinlich falsche Suchbegriffe. ::)
Ich werde das mal testen, danke!
Dank Eurer Hilfe und der Hilfe diverser Quellen habe ich jetzt ein fast funktionierendes DOIF.
Allerdings gibt es noch ein Problem mit dem Attribut cmdState, ich fummele da jetzt schon den ganzen Nachmittag dran rum, aber ich komme nicht dahinter warum das nicht so will wie ich.
Das DOIF:
([d_Power:power:d] > 0.1 and [?$SELF] =~ "cmd_5|initialized|initialize")
(({Log 3, "Waschmaschine eingeschaltet"}))
DOELSEIF ([d_Power:power:d] > 20 and [?$SELF] eq "cmd_1")
(({Log 3, "Waschmaschine Programm gestartet"}))
DOELSEIF ([d_Power:power:d] > 20 and [?$SELF] =~ "cmd_2|cmd_3")
(({Log 3, "Waschmaschine Programm laeuft"}))
DOELSEIF ([d_Power:power:d] < 5 and [?$SELF] =~ "cmd_2|cmd_3")
(({Log 3, "Waschmaschine Programm beendet"}))
DOELSEIF ([d_Power:power:d] < 0.1 or [d_Power:power:d] > 20 and [?$SELF] eq "cmd_4")
(({Log 3, "Waschmaschine ausgeschaltet"}))
Und die Attribute dazu
Attributes:
DbLogExclude .*
do resetwait
room Geräte->Systeme->Gosund,System->Logik,Zimmer->Waschküche
wait 0:0:0:300:0
Damit ich nicht dauernd die Waschmaschine laufen lassen muss, habe ich Ottos Slider aus seinem Posting vom 02.03. benutzt.
Das funktioniert, wenn ich aber beispielsweise folgendes Attribut angebe:
cmdState An|Start|Arbeitet|Ende|Aus
Dann funktioniert es nicht mehr, erhöhe ich "power", wird nur "An" angezeigt, danach funktioniert das ganze DOIF nicht mehr und ich muss es neu initialisieren.
Was fehlt mir da noch bzw. was mache ich falsch, ich komme nicht dahinter? :-\
gm
ich habe ja wenig Ahnung von DOIF , aber warum hast du es nicht so wie in dem von mir verlinkten Beitrag ?
Jetzt 5 statt 4 Schritte und läuft und Ende hast auch geändert, vorallem bei Ellert wird nur am Ende auf kleiner abgefragt, alle anderen Schritte arbeiten immer mit größer !
Edit : repeatcmd ist auch verschwunden ....
Zitataber warum hast du es nicht so wie in dem von mir verlinkten Beitrag ? Jetzt 5 statt 4 Schritte
Weil das nicht funktioniert hat, die Maschine hat hin und wieder Powerwerte unter 2 und dann kam halt die Meldung, das Programm wäre fertig, war es aber nicht, dieses Verhalten fangen die 5 Schritte jetzt ab, weil diese Variante über wait einige Zeit wartet ob die Powerwerte ansteigen und erst wenn das nicht der Fall ist, wir die Programmendemeldung ausgegeben. Das funktionierte bei der 4 Schrittvariante nicht.
Die 5er Variante ist von ahlermi (https://forum.fhem.de/index.php/topic,48877.msg805155.html#msg805155) und da wundert er sich halt auch, daß die 4er Variante überhaupt funktioniert. Das kommt wahrscheinlich auch auf die Waschmaschine an.
Davon ab funktionierte cmdState mit der 4 Schritt Variante auch nicht.
Zitatrepeatcmd ist auch verschwunden ....
Ja, weil es nix gebracht hat, ich nutze das jetzt nur, daß mir bei Programmende alle 5 Minuten eine Message geschickt wird.
also bei mir läuft die 4er Version seit Jahren sowohl für den Trockner als auch die Waschmaschine.
IMHO ist es keine Frage des Typs sondern wie gut/genau der aktuelle Stomverbrauch gesendet wird.
So hatte ich zuerst eine AVM DECT (lief gut) dann eine Revolt (ganz schlecht), daher wurde es halt wieder zwei mal die AVM.
Was ich am Anfang gemacht habe : Maschine laufen lassen und für jeden Programm Typ ein Log der Messwerte erstellt.
Heizung, Pumpe & Motor sind kein Problem da sie i.d.R. wirklich Strom verbrauchen. Problem sind die Ruhephasen, da hier nur minimal Strom verbraucht wird. Aber wie gesagt, ich habe keine Ahnung von DOIF und nutze es normalerweise gar nicht.
ZitatProblem sind die Ruhephasen
Eben, da legt meine Maschine einige von ein, warum auch immer.
ZitatWas ich am Anfang gemacht habe : Maschine laufen lassen und für jeden Programm Typ ein Log der Messwerte erstellt.
Das habe ich ja auch gemacht und da kann man eben sehen, daß der Energieverbrauch hin und wieder fast auf Null geht und diese Phasen erkennt das DOIF mit den fünf Schritten.
Zitatich habe keine Ahnung von DOIF und nutze es normalerweise gar nicht.
Wie machst Du das denn?
Es funktioniert ja jetzt wie es soll, eben bis auf den cmdState.
ZitatDas funktioniert, wenn ich aber beispielsweise folgendes Attribut angebe:
Code: [Auswählen]
cmdState An|Start|Arbeitet|Ende|Aus
Dann funktioniert es nicht mehr, erhöhe ich "power", wird nur "An" angezeigt, danach funktioniert das ganze DOIF nicht mehr und ich muss es neu initialisieren.
Was fehlt mir da noch bzw. was mache ich falsch, ich komme nicht dahinter? :-\
Das ist auch kein Wunder, dass es nicht funktioniert.
Du hast mit cmdState den Status deines Moduls geändert, fragst ihn aber nach cmd_1, cmd_2 usw. ab.
Du kannst genauso Readings des DOIFs
cmd oder
cmd_nr oder die Variable
$cmd statt den Status abfragen.
Zitat von: grossmaggul am 06 März 2021, 09:25:28
daß der Energieverbrauch hin und wieder fast auf Null geht und diese Phasen erkennt das DOIF mit den fünf Schritten.
die Ruhepausen sind angeblich der Knitterschutz, ich nenne sie simple Einweichzeiten. Die sind halt verschieden je nach Programm. Das DOIF mit den vier Schritten geht wenn die Wartezeit zu der längsten vorkommenden Ruhepause passt. Der "Nachteil" ist aber auf jeden Fall das das Ende auch um diese Zeit verzögert wird, allerdings können bei mir die Nutzer damit gut leben.
ZitatDu hast mit cmdState den Status deines Moduls geändert, fragst ihn aber nach cmd_1, cmd_2 usw. ab.
Danke Damian, ich dachte mir fast sowas, ich muss gestehen, daß ich DOIF noch nicht wirklich verstanden habe. :-\
Ist aber auch ein verdammt komplexes Teil.
ZitatDu kannst genauso Readings des DOIFs cmd oder cmd_nr oder die Variable $cmd statt den Status abfragen.
Auch wenn ich mich jetzt als Vollhonk oute, das habe ich nicht verstanden.
Zitat von: Wzutallerdings können bei mir die Nutzer damit gut leben.
Bei uns bin ich der Nutzer und der kann damit nicht leben. ;)
Was stört Dich denn daran, daß es bei mir fünf Schritte sind, frisst doch kein Brot.
Zitatdie Ruhepausen sind angeblich der Knitterschutz
Meine Maschine hat am Ende tatsächlich einen Knitterschutz, der dauert ca. eine halbe Stunde in der alle paar Minuten die Trommel bewegt wird und den gilt es halt enbenfalls irgendwie zu erkennen.