Wert beim Schalten in Datei schreiben

Begonnen von aficianado, 14 Juli 2015, 21:42:40

Vorheriges Thema - Nächstes Thema

aficianado

#15
Hallo Jörg,

erst mal Danke für Deine Geduld.

Also auf der Seite "Licht details" und "FileLicht details" sehe ich keinen save-Button. Ich sehe links unter dem FHEM-Logo "Save config", der meldet aber "wrote configuration to fhem.cfg", bezieht sich also offensichtlich nicht auf dem Rest - oder?

Im FHEM-Wiki habe ich schon mehrmals gestöbert und habe mir die Seiten angesehen unter "wie fange ich an?", habe aber trotzdem noch nicht so den richtigen Überblick gefunden. Gerade sehe ich, dass da ja auch ein Einsteiger.pdf existiert, das werde ich mir mal durchlesen, wird mit 100+ Seiten natürlich etwas dauern. Mir fehlt noch so ein bischen der Zusammenhang, was wo wie angelegt wird und warum, wo ein notify eingebaut wird oder wo man wie Werte umrechnet, usw., aber das gibt sich bestimmt mit der Zeit.

Nun zu Deiner zweiten Frage: ja, die Datei /tmp/licht.txt könnte auch von einem anderen Prozess beschrieben werden mit 0 oder 1. Das Relais schaltet dann nach typ. 2 Sekunden, kann aber auch mal 10s dauern.

Danke + Gruß
RaPi3, esp8266, LoRa, Tasmota

JoWiemann

Zitat von: aficianado am 15 Juli 2015, 19:37:33
FHEM-Logo "Save config", der meldet aber "wrote configuration to fhem.cfg", bezieht sich also offensichtlich nicht auf dem Rest - oder?

Genau den meinte ich. Und hierdurch werden ALLE Änderungen und/oder Neuanlagen an und von Devices gespeichert. Dafür wird nach einer Änderung auch das ? neben "Save config" rot, als Hinweis darauf, dass Änderungen noch nicht gespeichert wurden und somit nach einem Neustart verloren gehen.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

aficianado

ok, habe ich jetzt verstanden - Danke!
RaPi3, esp8266, LoRa, Tasmota

JoWiemann

Hallo,

wie sieht es mit der Rückmeldung aus. Brauchst Du noch eine Idee, bzw. wie wird die Rückmeldung erstellt?

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

aficianado

Ja klar. Hättest Du bitte einen Tipp dazu wie man das am besten umsetzt?
FileLog erscheint mir zu umständlich, wegen des Zeitstempels und weil das Logfile ja erst erstellt werden müsste.
Am besten würde mir gefallen ein Device als Datei zu bauen, aber das sind für mich noch Sterne im Himmel :-))

Danke + Gruß
RaPi3, esp8266, LoRa, Tasmota

JoWiemann

Sorry,

jetzt stehe ich auf dem Schlauch?!

1. Status 0 oder 1 wird in Datei geschrieben
2. Irgendein Prozess liest Datei und tut irgendetwas
3. Prozess mach nach erfolgreichem tun was?
4....

Kannst Du mal in etwa so beschreiben was Du machst, machen willst.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

aficianado

der Fremd-Prozess liest den Wert aus der Datei /tmp/licht.txt und schiebt diesen über ein anderes verzweigtes Netzwerk zu einem Knoten und dieser schaltet mit dem Wert sein lokales Relais.  Außerdem könnte ein andere Prozess das Relais setzen wollen und der schreibt einen neuen Wert in die Datei. Und an dieser Stelle wäre es schick, wenn das FHEM den Zustand vom Licht immer korrekt anzeigt. Natürlich könnte ich auf dem Linux-System eine bash schreiben, welche die /tmp/licht.txt ausliest und den Inhalt in eine andere Datei zum Rücklesen ins FHEM schreibt, aber ich würde lieber gleich die /tmp/licht.txt nehmen. Wenn es zu kompliziert ist die Datei im FHEM zyklisch einzulesen, dann ist das eben so. Aber sollte es eine simple Lösung geben, würde ich diese gerne umsetzen.

Wenn es fürs FHEM einfacher ist, könnte ich auch den Inhalt der Datei per html zur Verfügung stellen und diese Seite in FHEM per html einlesen und der Variablen Licht zuordnen - oder? 

Danke + Gruß
RaPi3, esp8266, LoRa, Tasmota

Hollo

Zitat von: aficianado am 15 Juli 2015, 21:30:46
...Wenn es fürs FHEM einfacher ist, könnte ich auch den Inhalt der Datei per html zur Verfügung stellen und diese Seite in FHEM per html einlesen und der Variablen Licht zuordnen - oder? 
Wenn Du da was per bash etc. machen kannst, dann kontrollier doch zyklisch, ob sich die Datei geändert hat, und wenn ja machst Du ein wget und setzt Deinen FHEM-Dummy auf den Inhalt.

Das ist mir noch immer zuviel Geheimnis, um es wirklich so verstehen zu können, dass da passende Ideen bei rum kommen.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

JoWiemann

Hier ein Lösungsbeispiel:

Zunächst ein dummy anlegen:

define DummyOnOff dummy

Dann ein at anlegen:

define OnOffAktion at +*00:00:30 {}

+* sagt: immer wieder tun und zwar nach 00 Stunden : 00 Minuten : 30 Sekunden. Also alle 30 Sekunden

Jetzt auf Def klicken und folgenden Code einfügen:


+*00:00:30 {
my $daten;

open (DATEI, "/opt/fhem/onoff.txt") or die $!;
while(<DATEI>){
   $daten = $daten.$_;
}
close (DATEI);
fhem("set DummyOnOff ". ($daten eq "1"?"on":"off"));
}


Bitte den Pfad und Namen der Datei wieder anpassen.

Die Datei wird gelesen und wenn 1 dann wird der dummy auf on gesetzt ansonsten auf off. Das passiert alle 30 Sekunden.

Prüfen kannst Du das wenn Du LICHT schaltest. Dann geht DummyOnOff nach spätesten 30 Sekunden auf den selben Status.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

aficianado

Danke Jörg,

super, genau was ich gesucht habe, funktioniert prima!

Danke + Gruß


RaPi3, esp8266, LoRa, Tasmota