Nachdem ich zwei Stunden lang das Klammerzählen geübt habe ;) , traue ich mich mit einer neuen Frage ins Forum:
defmod d_Batt50Proz DOIF ([Du_Batt50Proz:state] eq "on")(set[RCT:batt_soc_min] == 0.50)(set teleBot message Batterie-Minimalladung auf 50% eingestellt!) DOELSEIF ([Du_Batt7Proz:state] eq "on")(set[RCT:batt_soc_min] == 0.07)(set teleBot message Batterie-Minimalladung auf 7% eingestellt!) DOELSE ## nothing
Die Telebot-Messages werden ordnungsgemäß ausgeführt, nicht jedoch die Befehle bezüglich RCT. Hier zeigt der Eventmonitor ein Problem beim set-Befehl an. Help hilft mir nicht weiter.
Sieht jemand den Fehler?
Vielen Dank!
Das ist einfach unglaublich...
Zitat von: is2late am 15 Dezember 2023, 18:00:59Hier zeigt der Eventmonitor ein Problem beim set-Befehl an.
Was ist denn so schwer daran, den aufgetretenen Fehler im Original hier zu posten?
Wie wäre es das richtige Unterforum: DOIF zu wählen...
Die Fehlermeldungen zu posten...
Und in deinem set ist ja noch ein Vergleich '==' was soll das sein?
Und ein Vergleich mit == und Kommawert, kann gehen muss aber nicht: Rundungsfehler...
Gruß, Joachim
ZitatDas ist einfach unglaublich...
@betateilchen: Ja, das ist es! Warum antwortest Du, wenn Dich die Frage oder ein Aspekt davon dermaßen ärgert???
Lass es doch einfach! Niemand braucht dieses grobe und respektlose Verhalten. Deine Kenntnisse in dieser Materie berechtigen Dich nicht,
Fragesteller wie Bekloppte zu behandeln. Bei Millionen anderer Themen bist Du höchstwahrscheinlich total ohne Peilung,
ohne dass man Dich deswegen wie einen Deppen behandelt.
Hilf sachlich, wenn Du kannst- oder lass es einfach sein! Nimm Dir mal ein Beispiel an TomLee, Joachim, Docter, Stephan, Damian, Beta-User, Thorsten und den hundert anderen, die hier sachlich und freundlich (und sei es, manchmal mit einem Augenzwinkern ;-)) Hilfestellung geben.
Ich habe jedenfalls keine Lust, mich immer über Deine Kommentare zu ärgern. Das ist es nicht wert.
Ich kann deinen Frust verstehen. Den "set" Befehl allerdings nicht ;) Was soll denn der bewirken? Was passiert, wenn du den manuell absetzt? Irgendwie sieht der komisch aus.
Nach set kommt immer ein Leerzeichen...
Wie schon mehrfach geschrieben der set Befehl ist "Quatsch".
Zitatset[RCT:batt_soc_min] == 0.50
Was willst du denn bei welchem Device setzen?
set Device Wert
Oder soll das eine weitere Bedingung sein, weil du ja einen Vergleich "eingebaut" hast?
Dann ohne set davor...
Und eben auch den ISTGLEICH Vergleich ( == ) überdenken...
Gruß, Joachim
Hallo und vielen Dank für Eure Hilfe!
Beabsichtigt ist Folgendes:
Das Minimum-Ladeniveau der Solarbatterie soll per Dummy auf einen höheren Wert eingestellt werden können, um bei Netzausfall im Winter eine Reserve zu haben.
Im Aufklappmenue des Devices "RCT WEchselrichter" lässt sich dies so erreichen:
set RCT batt_soc_min 50
Dieser Befehl funktioniert genauso über die Befehlszeile.
Fehlermeldungen tauchen jetzt plötzlich im Eventmonitor nicht mehr auf. Details:
2023-12-16 08:47:58 DOIF d_Batt50Proz cmd_nr: 1
2023-12-16 08:47:58 DOIF d_Batt50Proz cmd_seqnr: 1
2023-12-16 08:47:58 DOIF d_Batt50Proz cmd: 1.1
2023-12-16 08:47:58 DOIF d_Batt50Proz cmd_event: Du_Batt50Proz
2023-12-16 08:47:58 DOIF d_Batt50Proz cmd_1_1
2023-12-16 08:47:58 TelegramBot teleBot message Batterie-Minimalladung auf 50% eingestellt!
2023-12-16 08:47:58 DOIF d_Batt50Proz cmd_nr: 1
2023-12-16 08:47:58 DOIF d_Batt50Proz cmd_seqnr: 2
2023-12-16 08:47:58 DOIF d_Batt50Proz cmd: 1.2
2023-12-16 08:47:58 DOIF d_Batt50Proz cmd_event: Du_Batt50Proz
2023-12-16 08:47:58 DOIF d_Batt50Proz cmd_1
2023-12-16 08:47:58 dummy Du_Batt50Proz on
2023-12-16 08:47:58 TelegramBot teleBot sentMsgResult: SUCCESS
Allerdings wird der Wert batt_soc_min auch nicht verändert, dh das DOIF funktioniert so nicht.
Aktuelles DOIF, wobei der Space nach "set" schon eingebaut ist:
defmod d_Batt50Proz DOIF ([Du_Batt50Proz:state] eq "on")(set [RCT:batt_soc_min] == 0.50)(set teleBot message Batterie-Minimalladung auf 50% eingestellt!) DOELSEIF ([Du_Batt7Proz:state] eq "on")(set [RCT:batt_soc_min] == 0.07)(set teleBot message Batterie-Minimalladung auf 7% eingestellt!) DOELSE ## nothing
Eingedenk Joachims Tipp habe ich es danach so probiert:
defmod d_Batt50Proz DOIF ([Du_Batt50Proz:state] eq "on") (set RCT:batt_soc_min = 0.50)(set teleBot message Batterie-Minimalladung auf 50% eingestellt!) DOELSEIF ([Du_Batt7Proz:state] eq "on")(set RCT:batt_soc_min = 0.07)(set teleBot message Batterie-Minimalladung auf 7% eingestellt!) DOELSE ## nothing
Fehlermeldung:
2023-12-16 08:57:37 DOIF d_Batt50Proz error: set RCT:batt_soc_min = 0.50: Please define RCT:batt_soc_min first
Scheint jetzt also an der Syntax des Set-Befehls zu liegen.
Eine Idee, was ich noch probieren könnte?
Hallo,
ich glaub Du hast die Lösung bereits in Deinem Post.
(set RCT batt_soc_min 50)
Hast Du das schonmal so im DOIF ausprobiert?
Adventliche Grüße
Reinhard
Das ist es tatsächlich! Funktioniert!
Ganz herzlichen Dank, Reinhard,
und auch Dir und allen Mitdenkern einen schönen Advent!
LG Ingo