Leerstring bei dpt16.001 senden?

Begonnen von NoMercy, 06 Juni 2018, 10:47:31

Vorheriges Thema - Nächstes Thema

NoMercy

Hallo,

ich nutze in einzelnen Zimmern BJ-PriOn-RTR mit Display, an denen ich z.B. Anzeigen möchte, ob es sinnvoll, ist den Raum zu lüften.

Grundsätzlich habe ich hierzu in FHEM ein KNX-Device vom Typ dpt16.001 definiert und die GA mit dem Infodisplay des RTR verbunden. Das Device sendet auch Texte über die GA (z.B. "ggf. Lüften") an das Display. Funzt auch alles so weit.

Wenn hier im Beispiel allerdings keine Nachricht über die GA am Display angezeigt werden soll, müsste ich einen Leerstring senden. Das habe ich allerdings noch nicht hinbekommen... Geht das irgendwie?

bei set <KNX-Device> string gibt es eine Fehlermeldung (No data or cmd string).
bei set <KNX-Device> string "" werden die Gänsefüßchen am Display angezeigt. Gleiches beim Hochkomma...  :(

Hat jemand eine Idee?

Danke und Gruß,
Michael 


Andi291

Puh, schwierig...Spontan fälllt mir ein, Du könntest alternativ einen anderen dpt verwenden und 0x0 schicken.
Was passiert, wenn Du einen Zeilenumbruch schickst?

NoMercy

Hi,

also Zeilenumbruch schicken, wüßte ich nicht wie... Bin kein Perl-Profi. Alles was ich so kenne (z.B. ) wird genau so dargestellt :-(

An welchen anderen dpt hattest Du denn gedacht? Das Display benötigt dpt16.001...


Andi291

1. Schicke mal mit DPT16 nen Zeilenumbruch: \n
2. probier mal mit einem dpt5 eine 0 an die GA zu senden...

NoMercy

Hi Andi,

dpt16 mit \n zeigt genau \n an. :'(

Mit dpt5 und einer 0 an die GA ändert sich an der Anzeige nichts (d.h. der bisher vorhandene Wert bleibt weiter bestehen). Ich habe gerade keine ETS hier um zu schauen, was über den Bus geht... dpt5 würde mir ja auch nicht helfen, da ich ja auch Texte (wenn notwendig) oder eben eine leere Anzeige (wenn nichts zu informieren ist) anzeigen möchte.

Gruß,
Michael

Andi291

Der dpt5 schickt bei 0 aber 0x00, was einem leeren String entspricht. Ist ne Idee...

NoMercy

Hi,

danke nochmal für die dpt5-Info. Da ich aber tatsächlich auch "richtige" Textmeldungen am Display benötige (z.B. "ggf. Lüften", "Fenster offen", etc.) , werde ich wohl bei dpt16 bleiben und statt einem Leerstring, wenn z.B. "Lüften nicht notwendig ist", irgendwelche halbwegs sinnvollen alternativen Texte schicken ;)

Gruß

JoeALLb

Leg doch einfach, zumindest für den test, ein neues Device mit der selben GAD an, nur als DPT5.
Dann kannst du beides testen und wenns klappt kann man einen schritt weiter denken.

ggf. müsste man dann irgendein schlüsselwort festlegen wie zB "undev" oder "$empty", um einen Leerstring zu senden.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

KuhKai

Hallo @NoMercy,
hast Du eine Lösung hierzu gefunden? Ich habe einen Taster von mdt und brauche auch den Leerstring zum Zurücknehmen der Meldung.

Beste Grüße...

erwin

#9
Hi,
ich hab mir das kurz angesehen, da ist mehr als ein Fehler drin....
ich denke ich kann in absehbarer Zeit eine Lösung liefern, aber ohne "Schlüsselwort" wird's nicht gehen (wie JoeALLB geschrieben hat).

Gibts dazu Wünsche?
es soll etwas sein, was am Anfang nie gebraucht werden sollte! Damit sollten wir zumindest zwei Zeichen nehmen.
Spontan fällt mir z.b: <> oder ### oder auch blank oder ähnliches... es sollte aber auch kein perl-funtionszeichen sein wie $%@ usw...
Was ich bisher versucht hab, (mit modifizierten Code) ist ein einzelnes Leerzeichen an den dpt16 zu schicken und das funktioniert!
Ideen?
l.g. Erwin

update: gelöst! siehe https://forum.fhem.de/index.php/topic,116737.0.html
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...