NEWS
[gelöst]Datenpunkt auf true setzen
-
Also eigentlich das einfachste überhaupt.
Es hat vor einem Monat auch schon funktioniert:Ich habe einen Timer "gebastelt" welcher zuerst einen byte Wert per Modbus sendet, und gleich danach einen bool auf 1 dann 0 setzen soll.
Der byte Wert wird gesetzt. Der bool Wert nicht.
Kann jemand erkennen weshalb nicht?
Weder mit steuere:async function SetPosBuero(Position) { setStateDelayed("modbus.0.holdingRegisters.32003_byOGRollBueroSetPos"/*byOGRollBueroSetPos*/, Position, 500, false); setStateDelayed("modbus.0.coils.32768_xOGRollBueroTrigPos"/*xOGRollBueroTrigPos*/, true, 1000, false); setStateDelayed("modbus.0.coils.32768_xOGRollBueroTrigPos"/*xOGRollBueroTrigPos*/, false, 1000, false); }auch nicht mir aktualisiere:
async function SetPosBuero(Position) { setStateDelayed("modbus.0.holdingRegisters.32003_byOGRollBueroSetPos"/*byOGRollBueroSetPos*/, Position, 500, false); setStateDelayed("modbus.0.coils.32768_xOGRollBueroTrigPos"/*xOGRollBueroTrigPos*/, true, true, 1000, false); setStateDelayed("modbus.0.coils.32768_xOGRollBueroTrigPos"/*xOGRollBueroTrigPos*/, false, true, 1000, false); }Am Funktionsaufruf selbst kanns meiner Meinung nach nicht liegen, da ja der byteWert übergeben wird.
Den einzigen Hinweis den ich habe ist

Das bestätigt wird kurz true. Mehr nicht.
Wo hab ich da einen Denkfehler?
MfG
Patrick -
Also eigentlich das einfachste überhaupt.
Es hat vor einem Monat auch schon funktioniert:Ich habe einen Timer "gebastelt" welcher zuerst einen byte Wert per Modbus sendet, und gleich danach einen bool auf 1 dann 0 setzen soll.
Der byte Wert wird gesetzt. Der bool Wert nicht.
Kann jemand erkennen weshalb nicht?
Weder mit steuere:async function SetPosBuero(Position) { setStateDelayed("modbus.0.holdingRegisters.32003_byOGRollBueroSetPos"/*byOGRollBueroSetPos*/, Position, 500, false); setStateDelayed("modbus.0.coils.32768_xOGRollBueroTrigPos"/*xOGRollBueroTrigPos*/, true, 1000, false); setStateDelayed("modbus.0.coils.32768_xOGRollBueroTrigPos"/*xOGRollBueroTrigPos*/, false, 1000, false); }auch nicht mir aktualisiere:
async function SetPosBuero(Position) { setStateDelayed("modbus.0.holdingRegisters.32003_byOGRollBueroSetPos"/*byOGRollBueroSetPos*/, Position, 500, false); setStateDelayed("modbus.0.coils.32768_xOGRollBueroTrigPos"/*xOGRollBueroTrigPos*/, true, true, 1000, false); setStateDelayed("modbus.0.coils.32768_xOGRollBueroTrigPos"/*xOGRollBueroTrigPos*/, false, true, 1000, false); }Am Funktionsaufruf selbst kanns meiner Meinung nach nicht liegen, da ja der byteWert übergeben wird.
Den einzigen Hinweis den ich habe ist

Das bestätigt wird kurz true. Mehr nicht.
Wo hab ich da einen Denkfehler?
MfG
Patrick@marsmännchen
Wenn setzen auf true und danach mit false mit der gleichen Verzögerung - also quasi gleichzeitig - erfolgt, ist das Ergebnis false. Der Modbus-Datenpunkt muss mit "steuere" gesetzt werden. -
@marsmännchen
Wenn setzen auf true und danach mit false mit der gleichen Verzögerung - also quasi gleichzeitig - erfolgt, ist das Ergebnis false. Der Modbus-Datenpunkt muss mit "steuere" gesetzt werden.@paul53
Tja sorry. Dummer Denkfehler. Gleichzeitig True und False geht natürlich nicht.
Danke für die schnelle Hilfe!

MfG
Patrick
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden