RasperyPi + LCD + CSM / RS485 Platine = "FHEM-Zentrale"

Begonnen von Dirk, 15 Mai 2013, 21:29:16

Vorheriges Thema - Nächstes Thema

ext23

Hi,

eine Frage ersetzt das neue Modul das alte "00_rpiLCD.pm"? Weil es hat ja ein anderen Namen gelle. Oder hab ich eine zu alte Version auf meinem RPi?

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Dirk

#211
Zitat von: ext23 am 01 Februar 2014, 20:43:22
eine Frage ersetzt das neue Modul das alte "00_rpiLCD.pm"? Weil es hat ja ein anderen Namen gelle. Oder hab ich eine zu alte Version auf meinem RPi?
Du hast recht. Die neue Version liegt hier schon ein paar Wochen. Und diese Info habe ich tatsächlich unterschlagen.

Also "00_RPI_LCD.pm" ersetzt die alte Version "00_rpiLCD.pm".
Beim Define muss das nun auch heißen:
define <name> RPI_LCD localhost:1234

Zitat von: stgeran am 01 Februar 2014, 17:45:17
Ich habe das Modul heruntergeladen und in /opt/fhem/FHEM gespeichert. Ein" reload 00_RPI_LCD.pm" bringt folgenden Fehler:
Too many arguments for main::RPI_LCD_text at ./FHEM/00_RPI_LCD.pm line 376, near "$clearBg)"
BEGIN not safe after errors--compilation aborted at ./FHEM/00_RPI_LCD.pm line 552.

Was habe ich vergessen oder falsch gemacht?
Vermutlich weil das alte Modul noch geladen war. Siehe oben.

@dampf123
Der Absturz beim Setzen der LED's ist nun gefixt.
set LCD1 text 30 30 {ReadingsVal('TH_1','humidity','').'%'}
Sollte bei dir nun auch funktionieren. Es war der Unterstrich.

Gruß
Dirk

Update:
00_RPI_LCD.pm gelöscht. Diese Version befindet sich mit im Github-Repo

ext23

#212
So,

ich darf mal anfangen ;-) LED habe ich versucht an zu schalten und dann kommt:

Das define dazu ist noch das original von dir (define rpiLCD_LED1_on notify rpiLCD_LED1.on set rpiLCD led 1 1)

Undefined subroutine &main::rpiLCD_command called at ./FHEM/00_RPI_LCD.pm line 442.

und FHEM schießt sich ab.

Achso und ich hab die letzte Version genommen wo es gefixed sein sollte. Hoffe ich zumindest oO

HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Arghh nee halt mein Fehler, scheisse wget hat die nicht überschrieben, verdammt, da hab ich gepennt.
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Dirk

Puh, ich dachte schon ich habe die falsche Datei rangehängt.
Wenn ihr keine Fehler mehr finden, dann pushe ich das dann Anfang der Woche ins Github.

Gruß
Dirk

ext23

Also noch sah alles gut aus was ich so durchprobiert habe. Die "Auf den Kopf stellen" Funktion fehlt mir noch ;-)

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

dampf123

#216
Hallo Dirk,
super .....  :)

Led's kann ich wieder schalten ohne Absturz.

In der Komandozeile eingegeben:
set LCD1 text 20 15 {ReadingsVal('TH_1','humidity','').'%'}
bringt auch den aktuellen Messwert auf das Display.

Dann habe ich diese Zeile in die fhem.cfg geschrieben. Da passiert aber nichts.
Hm, bin ich da auf nem Holzweg ? das müsste doch auch gehen oder ?

Gruß
Klaus
Edit: habe noch mal zwei screnshot's angehängt
RPi V2 mit LCD und CSM FW1.57
HM-WDS40-TH-I, HM-LC-SW4-DR, HM-SCI-3-FM, HM-CC-RT-DN

Dirk

Zitatbin ich da auf nem Holzweg
Etwas.
Wenn du das so in der fhem.cfg schreibst, dann kommt es auf die Reihenfolge an. Ggf. ist LCD1 oder TH_1 da noch nicht definiert.

Besser ist ein Notify
define TH_1_notify notify .*TH_1.* set LCD1 text 20 15 {ReadingsVal('TH_1','humidity','').'%%'}

Der aktualisiert die Daten auf dem Display wenn neue Daten empfangen wurden. Das %% muss übrigens so sein.

Dieser:
define initialized notify global:INITIALIZED trigger TH_1_notify TH_1
Sorgt dafür, dass das obige Notify einmal getriggert wird, sobald FHEM initialisiert wurde.

Gruß
Dirk

dampf123

Hi,
es klappt.
Auch wenn ich den Code noch nicht zu 100% begriffen habe. Aber daran arbeite ich noch.
Nur das ° Zeichen macht  "Probleme", das sah auf den Display lustig aus.   ::) Ist aber nicht so wichtig.

So, ich habe mir mal ein Bier aufgemacht, und schick dir ein "virtuelles" rüber.  ;D
Besten Dank für deine Mühe.

Gruß
Klaus
RPi V2 mit LCD und CSM FW1.57
HM-WDS40-TH-I, HM-LC-SW4-DR, HM-SCI-3-FM, HM-CC-RT-DN

Dirk

ZitatAuch wenn ich den Code noch nicht zu 100% begriffen habe. Aber daran arbeite ich noch.
Die erste Zeile definiert einen Notify der bei Events mit TH_1 im Inhalt den aktuellen Wert auf das Display schreibt.

ZitatNur das ° Zeichen macht  "Probleme"
Ja, stimmt. Die Zeichensätze im LCD-Daemon unterstützen derzeit nur den einfachen Ascii-Satz. (0 - 128)

ZitatSo, ich habe mir mal ein Bier aufgemacht, und schick dir ein "virtuelles" rüber.
Na dann Prost :)

Maxel

Hallo Dirk,

auch bei mir funktioniert es. Vielen Dank!
Ich weiß nicht, ob man früh am morgen mit dem Bier trinken beginnen kann, aber ich schick dir auch eins rüber.  :)

Gruß Maxel
FHEM auf Banana Pi
CUL V3 (FS20), Homematic, MAX, 1-Wire, Lacrosse (LaCrosseGateway)

dampf123

Hallo Dirk,
ich habe noch eine Frage zu den Logeinträgen:
2014.02.02 20:15:36 2: CUL_HM set RT_1_Clima getConfig
2014.02.02 20:16:26 1: Rpi LCD command: text,88,15,64%,0,1
2014.02.02 20:16:26 1: Rpi LCD command: text,45,15,13.2,0,1
2014.02.02 20:16:26 1: Rpi LCD command: text,88,15,64%,0,1
2014.02.02 20:16:26 1: Rpi LCD command: text,45,15,13.2,0,1
2014.02.02 20:16:26 1: Rpi LCD command: text,88,15,64%,0,1
2014.02.02 20:16:26 1: Rpi LCD command: text,45,15,13.2,0,1
2014.02.02 20:18:08 2: CUL_HM set RT_1_ClimaTeam getConfig

Da sind immer einige doppelte Einträge, und ich kann mir das nicht erklären wieso die da sind.

hier noch ein Auszug aus meiner fhem.cfg :
#####################################################################
# Meßwertausgabe
# von TH_1
#

set LCD cls
set LCD text 0 15 Keller:
set LCD rect 72 15 73 16 1
set LCD text 75 15 C

define TH_1_notify notify TH_1 set LCD text 88 15 {ReadingsVal('TH_1','humidity','').'%%'};;set LCD text 45 15 {ReadingsVal('TH_1','temperature','').''}

define initialized notify global:INITIALIZED trigger TH_1_notify TH_1



damit habe ich mir eine Ausgabezeile gestrickt, die dann so aussieht:
Keller: 13.2 °C 64%

Die Funktion ist einwandfrei, nur halt die Mehrfach-Logeinträge. ::)

Gruß
Klaus
RPi V2 mit LCD und CSM FW1.57
HM-WDS40-TH-I, HM-LC-SW4-DR, HM-SCI-3-FM, HM-CC-RT-DN

Dirk

Zitat von: Maxel am 02 Februar 2014, 09:00:15
Ich weiß nicht, ob man früh am morgen mit dem Bier trinken beginnen kann, aber ich schick dir auch eins rüber.  :)
Danke Mal sehen ob heute Abend noch was geht :)

Zitat von: dampf123 am 02 Februar 2014, 20:26:19
Da sind immer einige doppelte Einträge, und ich kann mir das nicht erklären wieso die da sind.
Ich vermute das dass Notify auf mehrere Events reagiert. Der Sensor schickt bestimmt Temperatur und Feuchtigkeit mit je einem Event.
Dann würde der dem Notify zugeordnete Befehl zwei mal ausgeführt

Gruß
Dirk

koenigd

Hallo,

kann ich mit dem neuen Modul jetzt auch die Menüstruktur innerhalb FHEM aufbauen, oder muss das weiterhin extern passieren?

Vielleicht können wir hier ja Ideen von Inhalten und deren Umsetzung sammeln?

Gruß Daniel

Dirk

Hallo Daniel,

Zitatkann ich mit dem neuen Modul jetzt auch die Menüstruktur innerhalb FHEM aufbauen, oder muss das weiterhin extern passieren?
Die Menüstruktur wurde bisher intern im FHEM-Modul aufgebaut. Das hat sich bisher auch nicht geändert.
Sofern musst du derzeit "nur" das FHEM-Modul ändern.

Ich würde das gerne aber auch irgenwie über die Config umsetzen. Allerdings hatte ich noch nicht die endgültige Idee.

Gruß
Dirk