LESEWERTEDATEI funktioniert nicht

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

Antworten
stormwind
Beiträge: 15
Registriert: 01.07.2013, 13:41
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wien

LESEWERTEDATEI funktioniert nicht

Beitrag von stormwind » 16.06.2019, 19:20

Hallo Community!

Ich habe vor ein paar Tagen begonnen mich mit LÖSCHEDATEI, SCHREIBEDATEI und LESWERTEDATEI zu beschäftigen.

Mein System: Raspberrymatic CCU3, und CL Studio: Alles auf den aktuellsten Stand upgedated.

Am Raspi steckt dazu noch ein USB Stick.

In der WebUI unter CL-Studio wird /media/usb0 angezeigt. (Dort sehe ich auch meine Datei, und kann sie auch ansehen).

Kurz: LÖSCHEDATEI und SCHREIBEDATEI funzt einwandfrei. Sowohl unter der WebUI als auch mit Win-SCP sehe ich meine Datei und den entsprechenden Inhalt.

Hier der Schreibcode. Ein Makro mit Namen "M_sichern_autotemp" (Wird derweil zum testen noch manuell mit einem "Knopf" ausgelöst):
LÖSCHEDATEI("autotemp.txt")

WZ:="WZ=" + Jalousie_Sonne_Auto_WZ
EZ:="EZ=" + Jalousie_Sonne_Auto_EZ
KZ:="KZ=" + Jalousie_Sonne_Auto_KZ
SZ:="SZ=" + Jalousie_Sonne_Auto_SZ

SCHREIBEDATEI("autotemp.txt",WZ,1)
SCHREIBEDATEI("autotemp.txt",EZ,1)
SCHREIBEDATEI("autotemp.txt",KZ,1)
SCHREIBEDATEI("autotemp.txt",SZ,1)

SCHLIESSEDATEIEN

So sieht die Datei aus:
WZ=aus
EZ=an
KZ=aus
SZ=an

--> WZ, EZ, KZ und SZ sind jeweils als Zeichen definiert.

Bis daher geht ja alles noch.

Jetzt will ich die Datei (autotemp.txt) im "INIT_" Makro auslesen. Und das habe ich noch nicht zusammengebracht.

Inhalt von "INIT_":
test setzen auf "Noch nix"
LESEWERTEDATEI ("autotemp.txt")
WARTE ("00:00:30")
Text:="Mein Wert: " + WZ
test:=Text

Anm: Text und WZ sind als Zeichen definiert.
"test" ist ein Objekt vom Typ zeichen.
Ist zum testen und lernen ja schön einfach gehalten. :D


Die Zeile "test setzen auf "Noch nix"" habe ich damit ich in VisuWin sehe ob sich überhaupt was tut. Tut es prinzipiell auch: Nach dem Start erscheint "Noch nix" und nach den 30sek ersscheint "Mein Wert: "; Und das wars dann auch schon.

Ich habs auch schon mit "test.WZ" und etlichen anderen Varianten probiert, alles was ich im Forum so alles gefunden hab. Ich komme mit nichts an die Werte der Datei. (Achja: Zuerst habe ich SCHREIBEDATEI mit flag 2 probiert, zuletzt mit 1.)

Jetzt bin ich mit meinen Latein am Ende.

Ich hoffe die Weisen hier haben einen Rat für mich.

Danke schon mal im Voraus.

LG

Alex
---------------------------------------------------------------------------------------------------------------------------------------------------------
Raspberrymatic auf Raspberry rpi4, 300+ Kanäle, 90% wired
Homeputer Studio CL
A.I.O Creator

NickHM
Beiträge: 3729
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 65 Mal
Danksagung erhalten: 119 Mal

Re: LESEWERTEDATEI funktioniert nicht

Beitrag von NickHM » 16.06.2019, 22:29

Hallo

ich benutze das schon seit der Version 3 nicht mehr, aber die alten makros sind noch im Projekt.

Einziger Unterschied, den ich sehen kann
- ich habe am Ende des Schreibbefehls ,1 benutzt
- ich benutze nach allen Schreibbefehlen am Ende des Makros ein "SCHLIESSEDATEIEN"

Daimler
Beiträge: 9114
Registriert: 17.11.2012, 10:47
System: Alternative CCU (auf Basis OCCU)
Wohnort: Köln
Hat sich bedankt: 37 Mal
Danksagung erhalten: 283 Mal

Re: LESEWERTEDATEI funktioniert nicht

Beitrag von Daimler » 17.06.2019, 06:54

Hi Alex,
stormwind hat geschrieben:
16.06.2019, 19:20
WZ:="WZ=" + Jalousie_Sonne_Auto_WZ
SCHREIBEDATEI("autotemp.txt",WZ,1)
So sieht die Datei aus:
WZ=aus
Warum gehst du diesen (nicht funktionierenden) Umweg?
Welchem Objekt soll denn bei 'LESEWERTEDATEI der Wert 'Aus' zugewiesen werden?

In der Datei autotemp.txt muss der exakte Name des Objektes und dessen Wert stehen.

Also in deinem Beispiel:
ObjektWert:="Jalousie_Sonne_Auto_WZ="+Jalousie_Sonne_Auto_WZ
SCHREIBEDATEI("autotemp.txt",ObjektWert,1)
ObjektWert:="Jalousie_Sonne_Auto_EZ="+Jalousie_Sonne_Auto_EZ
SCHREIBEDATEI("autotemp.txt",ObjektWert,1)
- ObjektWert: Variable Typ Zeichen im Makro
usw.

In der Datei steht dann z. B.:
Jalousie_Sonne_Auto_WZ=Aus
Jalousie_Sonne_Auto_EZ=An

"SCHLIESSEDATEIEN" habe ich noch nie verwendet - kann aber nicht schaden.
Gruß Günter

pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .

Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

stormwind
Beiträge: 15
Registriert: 01.07.2013, 13:41
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wien

GELÖST: LESEWERTEDATEI funktioniert nicht

Beitrag von stormwind » 17.06.2019, 07:39

Hallo Günter!

Danke für Deine Ausführung!

Jetzt funzt es.
Jetzt weiß ich auch wo mein Denkfehler war.

Ich bins von früher gewohnt (VB+, VBA Programmierung), daß ein Wert den ich von irgendwo einlese, in eine Variable einlese und mit dieser Variable erst dann einem Objekt einen Zustand zuweise.

Hier gibt's das scheinbar nicht, und die Datei schreibt beim Lesen direkt in das Object.

VIelen Dank !!!!

LG

Alex
---------------------------------------------------------------------------------------------------------------------------------------------------------
Raspberrymatic auf Raspberry rpi4, 300+ Kanäle, 90% wired
Homeputer Studio CL
A.I.O Creator

NickHM
Beiträge: 3729
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 65 Mal
Danksagung erhalten: 119 Mal

Re: GELÖST: LESEWERTEDATEI funktioniert nicht

Beitrag von NickHM » 17.06.2019, 12:57

stormwind hat geschrieben:
17.06.2019, 07:39

Hier gibt's das scheinbar nicht, und die Datei schreibt beim Lesen direkt in das Object.
Ja. Deshalb müssen die Namen in der Datei auch genau den Namen der Variablen (Objekte) entsprechen.

Daimler
Beiträge: 9114
Registriert: 17.11.2012, 10:47
System: Alternative CCU (auf Basis OCCU)
Wohnort: Köln
Hat sich bedankt: 37 Mal
Danksagung erhalten: 283 Mal

Re: LESEWERTEDATEI funktioniert nicht

Beitrag von Daimler » 17.06.2019, 23:43

Hi Alex,
stormwind hat geschrieben:
17.06.2019, 07:39
VIelen Dank !!!!
Keine Ursache - machen wir gerne und dazu ist das Forum da!
(Hauptsache, es geht jetzt :!: )

Aber:
stormwind hat geschrieben:
17.06.2019, 07:39
Ich bins von früher gewohnt (VB+, VBA Programmierung), daß ein Wert den ich von irgendwo einlese, in eine Variable einlese und mit dieser Variable erst dann einem Objekt einen Zustand zuweise.
Aber auch 'früher' konntest du keinem nicht existierendem Objekt einen Wert zuweisen! :wink:
Denn bei 'Lesewertedatei' hast du ja überhaupt keine Möglichkeit irgendwelcher Zuweisungen!
Gruß Günter

pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .

Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

stormwind
Beiträge: 15
Registriert: 01.07.2013, 13:41
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wien

Re: LESEWERTEDATEI funktioniert nicht

Beitrag von stormwind » 18.06.2019, 18:39

Hallo Günter!
Daimler hat geschrieben:
17.06.2019, 23:43
Aber auch 'früher' konntest du keinem nicht existierendem Objekt einen Wert zuweisen! :wink:
Denn bei 'Lesewertedatei' hast du ja überhaupt keine Möglichkeit irgendwelcher Zuweisungen!
Sorry, schlecht ausgedrückt: Damit meinte ich bei meinen früheren Projekten in VBA war das so. Das war (aus meiner Sicht) noch "prä-homematic. :D

LG

Alex
---------------------------------------------------------------------------------------------------------------------------------------------------------
Raspberrymatic auf Raspberry rpi4, 300+ Kanäle, 90% wired
Homeputer Studio CL
A.I.O Creator

Antworten

Zurück zu „homeputer CL“