[Gelöst] Setzen von Text in doif

Begonnen von griessbx, 22 Januar 2023, 17:49:34

Vorheriges Thema - Nächstes Thema

griessbx

Hallo, ich bekomme es mal wieder nicht gebacken und suchen hilft mir auch nicht weiter. Ich überwache meinen Drucker mit Hilfe des Octoprint Moduls. Im Falle eines Fehlers wird das reading error mit einer Meldung gesetzt aber nicht wieder gelöscht wenn der Drucker wieder läuft , die möchte ich mit einem DOIF lösen
([3DViper:state] eq "Operational" ) (set WEB_TelegramBot message @xxxxxxx Der Druck ist fertig )
DOELSEIF ([3DViper:state] = "Printing" ) (setreading  3DViper error  "Kein Fehler")

Dies gibt einen Fehler
condition c02: Can't modify non-lvalue subroutine call of &main::ReadingValDoIf in scalar assignment, line 1, at EOF
Wenn ich ([3DViper:state] eq "Operational" ) (set WEB_TelegramBot message @1416121820 Der Druck ist fertig )
DOELSEIF ([3DViper:state] = "Printing" ) (set  3DViper error  "Kein Fehler")
probiere bekomme ich folgenden Fehler set 3DViper error "Kein Fehler": Unknown argument error, choose one of job:start,cancel printer:connect,disconnect,gohome powermode:shutdown,restart,reboot send_gcode move_axis_z move_axis_y move_axis_x extrude
Was mache ich mal wieder falsch
Gruß Roland

betateilchen

Zitat von: griessbx am 22 Januar 2023, 17:49:34
Was mache ich mal wieder falsch

Dein Fehler ist hier:

Zitat von: griessbx am 22 Januar 2023, 17:49:34
DOELSEIF ([3DViper:state] = "Printing" )

Das "=" ist kein Vergleich, sondern eine Wertzuweisung und die funktioniert an dieser Stelle nicht.

Zum Vergleich, hier machst Du es richtig:

Zitat von: griessbx am 22 Januar 2023, 17:49:34
([3DViper:state] eq "Operational" )
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

griessbx

Danke, wie fast immer sitzt das Problem vor dem Bildschirm