1-Wire Statusdisplay für FHEM

Begonnen von Guest, 25 April 2012, 20:07:37

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo Liste,

anbei Schaltpläne und Fotos von der Statusanzeige für FHEM.

Features:
4 Zeilen a 20 Zeichen und 16 Icons, frei setzbar durch FHEM-Befehle, z.B.
"set OW_LCD line 0 Hallo FHEM-Welt!"
2 Status LED: gelb statisch, rot Blinkend, setzbar/löschbar über FHEM
1 Piezo-Alarmgeber und zugehöriger Rücksetzknopf für echte Alarmfälle, frei
setzbar

Kosten: Ca. 20 € Interface (Fertigmodul), LCD in Farbe un dGröße frei
wählbar ab ca. 15 €, Kleinkram ca. 15 €.

Schwierigkeitsgrad: Verbindung Interface-LCD 12 Drähte, läuft. Wenn man
aber die LEDs etc haben will,
und das Ganze so schön flach bauen möchte wie im Bild, wird es etwas
kniffeliger.

Ungewöhnlich der Einbau - habe ich so auch noch nie gemacht:
Einen Bilderrahmen aus dem Baumarkt mit der Kappsäge passend verkleinert
(das schönere Modell beim Rahmenbauer ist schon bestellt).
Hat einen hohem WAF, weil es absolut un-technisch aussieht.

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Danke für die Fotos. Sieht ja nett aus. So etwas wollte ich innen neben der
Haustür platzieren inkl. der 4-Taster zum setzen des Anwesenheitsstatus und
weiterer Funktionen etc. Dann kenne ich den Zustand des Hauses gleich beim
Verlassen des Hauses (zur Zeit nur eine LED und zwei Taster an avr-net-io).

Du hattest ja den 1-Wire LCD Controller vom Fuchs-Shop empfohlen (bzw. das
ist ja eigentlich der Louis Swart 1-Wire LCD). Danke für den Hinweis.

Den habe ich mir auch gleich besorgt, da er für mich ideal ist und man nur
den 1-Wire-Bus legen muss (neben der Haustür ist leider kein
Ethernet-Anschluss und kein Strom-Anschluss ), aber trotzdem Display und
4-Taster hat.  Für die 18,90 EUR hat es sich für mich nicht gelohnt das
selbst zusammenzulöten. Die 4-Taster finde ich ideal. Wollte ich in den
nächsten Tagen mal angehen (entsprechendes LCD-Display liegt noch herum).

Ich bin jetzt nur etwas verwirrt bzgl. des Schaltplans. Hast Du jetzt eine
Eigenentwicklung gemacht? Da Du auch einen PIC-Mikrocontroller nutzt, hast
Du eigenen PIC-Code entwickelt (den Du evtl. der Community zur Verfügung
stellen willst) oder nutzt Du den Code von Louis Swart?

MfG Willi

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Nein, keine Eigenentwicklung - ich benutze das Modul vom Louis Swart.

Da ich aber von dessen Platine sowohl die Taster heruntergerissen habe, als
auch die obsolete RJ-Buchse, und die Kontrastregelung aus Platzgründen
duplizieren musste, habe ich eben mal schnell die Schaltung aufgezeichnet.
Und durch eine gestrichelte "Einkastelung" als fertiges Modul
gekennzeichnet. Sitzt jetzt bei mir - sehr flach - auf einem anderen Board,
das zwei Steckleisten für das bei mir etwas größere LC-Display bietet.

Außerdem ist die Dokumentation des Teils etwas, na, sagen wir, dürftig...

Eine Erweiterung des FHEM-Moduls OWLCD.pm, die auch das zusätzliche Memory
des LCD-Controllers nutzen kann, funktioniert bei mir noch nicht ganz.

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo,

so ein Display habe ich auch am 1-Wire-Bus, aber dazu hätte ich gerne noch
ein paar grundlegende Infos. Wie teile ich z.B. dem LCD-Modul mit, welchen
Display-Type ich angeschlossen habe (Zeilen), wie frage ich die Counter ab
usw. Gibt's da schon eine Doku, Wiki o.ä?

Danke und Gruß
Uwe

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Am Donnerstag, 3. Mai 2012 20:22:45 UTC+2 schrieb Uwe Hofmann:
>
> Hallo,
>
> so ein Display habe ich auch am 1-Wire-Bus, aber dazu hätte ich gerne noch
> ein paar grundlegende Infos. Wie teile ich z.B. dem LCD-Modul mit, welchen
> Display-Type ich angeschlossen habe (Zeilen), wie frage ich die Counter ab
> usw. Gibt's da schon eine Doku, Wiki o.ä?
>
>
Zu der Implementierung von pah kann ich nichts sagen. Ich nutze seine
Module derzeit nicht, weil ich OWFS verwende.

Eine umfangreiche Doku gibt es hier zu der Hardware:
http://www.louisswart.co.za/1-wire_lcd_100.pdf (Tolle Doku mit Beschreibung
aller 1Wire-Befehle sowie dem Schaltpan). Die Hardware lässt sich auch per
OWFS ansteuern. Wie das geht, steht unter
http://owfs.org/index.php?page=lcd-2 .

Ich habe meine LCD-Display noch nicht an den Controller angesteckt und
ausprobiert (evtl. dieses oder nächstes Wochenende).
Da ich mein 1Wire per OWFS ansteuere, wollte ich das auch mit dem LCD-Modul
tun und dann mal sehen wie ich das über FHEM ansteuere.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Dem Hardware-Modul muss man das gar nicht sagen - sondern nur, an welche
Stelle des Speichers im angeschlossenen LCD-Moduls welcher Buchstabe soll.

Die Counter werden über einen get-Befehl abgefragt, ebenso die gpio-ports

Selbstverständlich ist angestrebt, mein OWLCD-Modul mit dem von Martin
Fischer zu verschmelzen. Dazu muss er es aber erst einmal veröffentlichen,
was meines Wissens noch nicht geschehen ist. Ähnlich wie beim OWTEMP-Modul
soll dann das "neue" OWLCD sowohl mit OWX, als auch mit OWFS
zusammenarbeiten.

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Peter, hallo Willi,

Danke für die Info, aber leider hilft mir das nicht ganz so wirklich. Die
Doku bzw. alle greifbaren Unterlagen des LCD-Controllers habe ich mir schon
angesehen, das lässt aber zumindest für mich keine Rückschlüsse auf die
FHEM-Befehle zu, die ich anwenden muss. Meine Stärken liegen woanders... ;-)

Momentan kann ich das Backlight ein- und ausschalten, das war's. :-)
Ich muss doch aber irgendwie dem Controller mitteilen, ob ich ein 4x20 oder
2x16 oder was auch immer angeschlossen habe und dann sollte zumindest der
Test funktionieren (Screenshot).

Zwei Beispiele von Peter habe ich gefunden, nur muss ich das Teil erst mal
rudimentär zum Laufen bringen...

Danke und Gruß
Uwe

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Ganz einfach: Ich hatte nur ein 4x20 zum Testen, die entsprechenden
Speicheradressen sind also im Modul "hart" codiert. Bitte per eMail (NICHT
an die Google-Adresse, sondern an peter (at) stw (dot) de) eine Kopie der
Beschreibung Deines LCD-Moduls. Ich kann dann relativ schnell schreiben,
_wo_ man _was_ ändern muss. Das automatische einstellen auf verschiedene
LCD-Typen wird dann etwas länger dauern.

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Peter,

die Mailadresse existiert angeblich nicht: The error that the other server
returned was: 554 554 Sorry, no mailbox here by that name. (#5.1.1) (state
13).

Gruß
Uwe

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo,

in der Subroutine OWXLCD_SetLine von OWXLCD.pm stehen die Zeilen


#-- issue the match ROM command \x55 and the write scratchpad command \x4E

# followed by LCD page address and the text

$select=sprintf("\x55%c%c%c%c%c%c%c%c\x4E\%c",@owx_ROM_ID,$line*32).$msgA;

OWX_Reset($master);

$res=OWX_Block($master,$select);


Damit werden bei meinem LCD die Speicherstellen

0*32 = 0x00 und Folgende für LCD Zeile 0,

1*32 = 0x20 und Folgende für LCD Zeile 1,

2*32 = 0x40 und Folgende für LCD Zeile 2,

3*32 = 0x60 und Folgende für LCD Zeile 3

geschrieben ("Folgende" = jeweils 19 Zeichen)


Aus deinem Datenblatt für das DEM 16481 geht aber hervor, dass die
Speicherstellen

0x00 und 15 weitere Zeichen für Zeile 0

0x40 und 15 weitere Zeichen für Zeile 1

0x10 und 15 weitere Zeichen für Zeile 2

0x50 und 15 weitere Zeichen für Zeile 3

geschrieben werden müssen. Der zweite Teil - mit msgB - ist dann
irrelevant, der wird nur benötigt, wenn mehr als 16 Zeichen in eine Zeile
passen.

Damit ist auchklar, wieso Du Zeilen 0 und 2 siehst - denn die weren in
meinem Modul wie die beiden Teile der Zeile 0 behandelt.

Kleine Anpassung also: ersetze in der oben genannten Zeile den Ausdruck
"$line*32" durch


($line%2)*64+int($line/2)*16


Das sollte gerade die richtigen Speicheradressen setzen. Schön wäre es
natürlich, wenn man die doch sehr unterschiedlichen Zeilenadressen zu
Beginn des Moduls setzen könnte, statt im Code herumzubohren. Dafür habe
ich aber im Moment wirklich nicht die Zeit.

Das Problem mit den roten Drieecken in OWTEMP sehe ich mir auch noch an -
dauert aber jetzt etwas.


LG


pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Pah
frage: kann ich für die LCD 1-Wire mit deinem Modul schon den DS9490
Busmaster verwenden?
Wenn ja, welche Debian treiber muss ich laden damit der DS9490 als
Device ansprechbar ist?

Danke für deine Hilfe.
Gruss
Remo

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo

1. Ja.

2. Das sollte automatisch gehen. Vielleicht am besten als root vorher den
Befehl absetzen "tail -f /var/log/messages" - dann werden die jüngsten und
nachfolgende  Systemmeldungen ausgegeben. Danach den DS9490 einstecken -
wenn alles ok ist, wird ausgegeben, um welches USB-Device es sich handelt.

Das muss dann in die fhem.cfg eingetragen werden beim Modul OWX.

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

> Das muss dann in die fhem.cfg eingetragen werden beim Modul OWX.
>
> Kannst Du bitte mal ein Beispiel posten? Ich hab alle möglichen
Kombinationen erfolglos versucht (ok...eine fehlt ;-)

Danke
Uwe

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

# definiere Interface
define OWXI OWX /dev/ttyUSB1
attr OWXI room OWX

#definiere LC Display
define OWX_LCD OWLCD 9F0700000100
attr OWX_LCD room Wohnzimmer

#Automatischer Eintrag Ablesewert PV-Anlage in Zeile 3
define W_LCD3 notify nt5000:reading.* {OWXLCD_SetLine($defs{'OWX_LCD'},3, \
"PV $defs{'nt5000'}{STATE}
".(int($defs{'nt5000'}{READINGS}{Wd}{VAL}*10)/10).\
" kWh")}
attr W_LCD3 room Timer

#Backlight an/aus
define W_LCD2 at *22:00:00 set OWX_LCD backlight off
attr W_LCD2 room Timer
define W_LCD1 at *06:00:00 set OWX_LCD backlight on
attr W_LCD1 room Timer

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Danke, Dein Beispiel mit den Werten der PV-Anlage hatte ich versucht zu
adaptieren, aber Perl ist leider so gar nicht mein Ding...ich versuche es
weiter :)

Aber eine kleine Hilfe vielleicht: Wie müsste das aussehen, um einen 1-wire
Temperaturwert anzuzeigen? Weiterhin möchte ich gerne den Status eines
Fensters anzeigen. Wird ja über STATE oder WINDOW ausgegeben, aber leider
hab ich es bisher nicht hinbekommen... :(

Danke

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com