Hallo,
Ich habe eine für mich als Anfänger eine echte Anfängerfrage?
Ich kann ich einen Eingang in Fhem darstellen. genauer gesagt ich will in fhem wissen ob ein gpio Eingang den Status 1 oder 0 hat.
Ich habe es schon versucht mit einem dummy und einem notify. Doch damit komme ich nicht wirklich weiter.
Habe es so aufgebaut, wie bei einem Ausgang.
Das ist immer das, was bei div. Tutorials gebracht wird.
Doch über das Darstellen eines Status habe ich noch nichts gefunden.
Wer kann mir da weiterhelfen?
Wie muss ich das definieren?
Der Status des GPIO-Gerätes sollte in der Raumansicht standartmässig angezeigt werden. Sonst gibt es ein Attribut stateFormat.
Zitat von: Ellert am 23 Juli 2016, 12:27:32
Der Status des GPIO-Gerätes sollte in der Raumansicht standartmässig angezeigt werden. Sonst gibt es ein Attribut stateFormat.
Das State habe ich schon gesehen, aber ich frage mich wie ich das einfach anzeigen kann.
Ich hätte mir vorgestellt, dass so etwas wie eine kleine Lampe dargestellt wird wie bei den Ausgängen.
geht das überhaupt, oder denke ich da falsch?
Ich möchte beispielsweise die Rückmeldung, ob ein Relais tatsächlich geschaltet hat, darstellen.
Nur auf die Anzeige dass ein Ausgang on ist, verlasse ich mich da nicht.
ZitatRückmeldung, ob ein Relais tatsächlich geschaltet hat
Dann müsstest Du über einen Hilfskontakt des Relais, der einen anderen GPIO belegt, der als Eingang konfiguriert ist, die Rückmeldung anzeigen. Das GPIO-Gerät liefert auch hier per default den Status des Eingangs. Icons kannst Du mit einem Attribut "devStateIcon" setzen.
Zitat von: Ellert am 23 Juli 2016, 13:28:55
Dann müsstest Du über einen Hilfskontakt des Relais, der einen anderen GPIO belegt, der als Eingang konfiguriert ist, die Rückmeldung anzeigen.
Zur Rückmeldung: ich wäre das einen schritt weitergegangen.
Ich lasse mit der zu schaltenden Spannung auch einen Optokoppler ansprechen. Dieser liefert mir die Rückmeldung.
Es ginge auch über Stromflusssensoren, aber das erfordert analoge Eingänge die es am Raspberry leider nicht gibt.
Sicherlich lassen sich diese zusätzlich bauen, aber ich frage mich da ob es der Aufwand wert ist.
Ich werde mich mal dran setzen und versuchen das State abzufragen.
Hoffe mal das ich das mal hinbekomme. Meine bisherigen Versuche sind alles gescheitert.
ZitatMeine bisherigen Versuche sind alles gescheitert.
Was hast Du denn genau versucht?
Was genau kann ich nicht mehr sagen, ich habe es nicht notiert.
Jedenfalls habe ich es ähnlich gemacht wie bei einem Schalter.
Dummy und notify. Bei Notify habe ich anstatt dem set das get genommen.
Mit welchem Modul bedienst Du die GPIOs? Bei mir wird der Status ohne die Nutzung von set/get angezeigt.
Mir fehlt irgendwie die Vorstellung von dem , was Du machst.
Zitat von: Ellert am 24 Juli 2016, 12:51:33
Mit welchem Modul bedienst Du die GPIOs? Bei mir wird der Status ohne die Nutzung von set/get angezeigt.
Mir fehlt irgendwie die Vorstellung von dem , was Du machst.
Der Status wird bei mir auch angezeigt.
Was ich haben haben will, ist, dass wenn zB ein Relais per uhrzeit usw geschaltet wird, damit ich beim öffnen von fhem auf einen Blick beim Betreten des Raumes sehe was Sache ist.
Beispiel ist in meinem Fall die Poolpumpe eingeschaltet.
Wobei die Rückmeldung über einen Extra Eingang kommt. Nicht wie der Status des Ausganges ist.
Ich will zB sehen, wenn der Eingang high ist dass da eine virt. Lampe in FHem leuchtet.
In meinem Fall bediene ich keine GPIOs, sondern 1wire Relais bzw Eingänge.
Ich habe deshalb GPIO geschrieben weil ich mit meinen bescheidenen Kenntnissen in Fhem, nicht einmal das kann.
Zu 1-wire kann ich leider nichts sagen, weil ich es nicht nutze.
Zitat von: Ellert am 24 Juli 2016, 17:53:56
Zu 1-wire kann ich leider nichts sagen, weil ich es nicht nutze.
Aber das konfigurieren in im Prinzip das gleiche wie mit gpio's.
Meine 1wire Module werden alle in fhem angezeigt.
Die meisten davon haben bereits sprechende Namen erhalten.
Denn mit 29.98CF1A000000 kann man wenig anfangen.
Da ich aber nicht weiterkomme, wie oben schon beschrieben, darum frage ich hier.
Sorry, aber ich habe das Gefühl, dass hier sofort geblockt wird, sobald sie 1-wire lesen. :-[
Gebt mir tipps zu einer guten Literatur, dann suche ich es mir selbst.
Aber bitte nicht wieder mit den üblichen Tipps lese: Erste Schritte in fhem oder das pdf Hausautomation.
Die habe ich schon alle durch. Da ich das aber, das ich hier frage, nicht gefunden habe, darum wende ich mich ans Forum!
Mich wundert, dass bei den angeführten Tutorials, keiner einen Status abfragt.
Es immer schon beschrieben wie ich schalten kann, Aber eine Kontrolle ob der Schaltvorgang auch erfolgreich war, macht keiner.
Das ist aber genau das, was ich haben will. Denn ohne dieser Kontrolle kann keine unbeaufsichtigte Schaltung gemacht werden.
Ist klar, wenn ich z.b das Licht im Wohnzimmer einschalte sehe ich das.
Wenn ich aber einen Pumpe einschalte sehe ich das nicht.
Vielleicht kann es fhem auch gar nicht, weil man keine Antworten dazu findet.
Stats im Logfile lesen ist nicht gerade die feine Art. Das ist ist zwar richtig, dass sie im Log stehen.
Wichtige Dinge sollte ich aber visuell sehen können.
Bei industriellen Steuerungen ist ein Schaltvorgang ohne entsprechende Rückkontrolle ein absolutes NoGo.
Ich weiß, dass fhem da nicht eingesetzt wird, aber ich finde das ist auch im privaten Bereich eine Notwendigkeit.
Alles andere ist Spielzeug.
Nochmals Sorry, ich will damit niemanden auf den Schlips treten, aber ich musste es mal loswerden.
ZitatDenn mit 29.98CF1A000000 kann man wenig anfangen.
Da hast du recht, stecken die Zustände in den readings drin, die du anzeigen lassen willst?
mach doch ein list von deinem Device und poste es hier
oder schau nach readingsProxy im Wiki
Die STATE Ausgabe meines Devices.
STATE
sensed.0: 1 sensed.1: 1 sensed.2: 1 sensed.3: 1 sensed.4: 1 sensed.5: 1 sensed.6: 1 sensed.7: 1 alarm: 0
Das ist der Status wenn wenn alles im Normalzustand ist. Also kein Relais geschaltet und kein Eingang aktiv.
0-3 sind Relaisausgänge
4-7 sind die Eingänge
so sieht der Status aus, wenn ein Relais aktiv ist und ein Rückmeldeeingang ok meldet.
STATE
sensed.0: 0 sensed.1: 1 sensed.2: 1 sensed.3: 1 sensed.4: 0 sensed.5: 1 sensed.6: 1 sensed.7: 1 alarm: 0
Hier ist sensed.0 auf 0 und der Eingang sensed.4 ebenfalls auf 0
Zum Ausgeben ist es natürlich schöner das ganze zu invertieren.
Was der Alarm bedeutet habe ich nicht nicht gefunden.
Du machst es dir echt schwierig :)
dein 1wire device hat doch irgendeinen Namen, also nach define <name>......
mach doch ein list in der cmdzeile
Zitatlist (und hier der name wie das dingens bei dir heißt) und dann enter
und ann poste das hier
Jetzt verstehe ich. Wieder was gelernt ;)
Internals:
DEF 29.98CF1A000000 60
IODev ows
LAST_READ_FAILED 0
NAME owsModulPool
NOTIFYDEV global
NR 105
NTFY_ORDER 50b-owsModulPool
STATE sensed.0: 1 sensed.1: 1 sensed.2: 1 sensed.3: 1 sensed.4: 1 sensed.5: 1 sensed.6: 1 sensed.7: 1 alarm: 0
TYPE OWDevice
Readings:
2016-07-25 14:29:39 PIO.0 0
2016-07-25 14:29:44 PIO.1 0
2016-07-21 19:49:01 PIO.2 off
2016-07-21 19:48:58 PIO.3 off
2016-07-21 20:00:36 PIO.4 0
2016-07-21 20:00:31 PIO.5 0
2016-07-25 15:25:17 alarm 0
2016-07-09 19:30:39 latch.4 1
2016-07-09 19:30:44 latch.5 0
2016-07-09 19:30:51 latch.6 0
2016-07-09 19:30:55 latch.7 0
2016-07-25 15:25:17 sensed.0 1
2016-07-25 15:25:17 sensed.1 1
2016-07-25 15:25:17 sensed.2 1
2016-07-25 15:25:17 sensed.3 1
2016-07-25 15:25:17 sensed.4 1
2016-07-25 15:25:17 sensed.5 1
2016-07-25 15:25:17 sensed.6 1
2016-07-25 15:25:17 sensed.7 1
2016-07-25 15:25:17 state sensed.0: 1 sensed.1: 1 sensed.2: 1 sensed.3: 1 sensed.4: 1 sensed.5: 1 sensed.6: 1 sensed.7: 1 alarm: 0
Fhem:
address 29.98CF1A000000
alerting 1
bus bus.0
interfaces state
interval 60
getters:
PIO.0
PIO.1
PIO.2
PIO.3
PIO.4
PIO.5
PIO.6
PIO.7
PIO.ALL
PIO.BYTE
address
crc8
family
id
latch.0
latch.1
latch.2
latch.3
latch.4
latch.5
latch.6
latch.7
latch.ALL
latch.BYTE
locator
por
power
r_address
r_id
r_locator
sensed.0
sensed.1
sensed.2
sensed.3
sensed.4
sensed.5
sensed.6
sensed.7
sensed.ALL
set_alarm
strobe
type
polls:
sensed.0
sensed.1
sensed.2
sensed.3
sensed.4
sensed.5
sensed.6
sensed.7
setters:
LCD_H/clear
LCD_H/home
LCD_H/message
LCD_H/onoff
LCD_H/screen
LCD_H/screenyc
LCD_M/clear
LCD_M/home
LCD_M/message
LCD_M/onoff
LCD_M/screen
LCD_M/screenyc
PIO.0
PIO.1
PIO.2
PIO.3
PIO.4
PIO.5
PIO.6
PIO.7
PIO.ALL
PIO.BYTE
latch.0
latch.1
latch.2
latch.3
latch.4
latch.5
latch.6
latch.7
latch.ALL
latch.BYTE
por
set_alarm
strobe
state:
sensed.0
sensed.1
sensed.2
sensed.3
sensed.4
sensed.5
sensed.6
sensed.7
Attributes:
IODev ows
model DS2408
room OWDevice
Zitat von: maci am 25 Juli 2016, 15:26:45
Jetzt verstehe ich. Wieder was gelernt ;)
Internals:
DEF 29.98CF1A000000 60
IODev ows
LAST_READ_FAILED 0
NAME owsModulPool
NOTIFYDEV global
NR 105
NTFY_ORDER 50b-owsModulPool
STATE sensed.0: 1 sensed.1: 1 sensed.2: 1 sensed.3: 1 sensed.4: 1 sensed.5: 1 sensed.6: 1 sensed.7: 1 alarm: 0
TYPE OWDevice
Readings:
2016-07-25 14:29:39 PIO.0 0
2016-07-25 14:29:44 PIO.1 0
2016-07-21 19:49:01 PIO.2 off
2016-07-21 19:48:58 PIO.3 off
2016-07-21 20:00:36 PIO.4 0
2016-07-21 20:00:31 PIO.5 0
2016-07-25 15:25:17 alarm 0
2016-07-09 19:30:39 latch.4 1
2016-07-09 19:30:44 latch.5 0
2016-07-09 19:30:51 latch.6 0
2016-07-09 19:30:55 latch.7 0
2016-07-25 15:25:17 sensed.0 1
2016-07-25 15:25:17 sensed.1 1
2016-07-25 15:25:17 sensed.2 1
2016-07-25 15:25:17 sensed.3 1
2016-07-25 15:25:17 sensed.4 1
2016-07-25 15:25:17 sensed.5 1
2016-07-25 15:25:17 sensed.6 1
2016-07-25 15:25:17 sensed.7 1
2016-07-25 15:25:17 state sensed.0: 1 sensed.1: 1 sensed.2: 1 sensed.3: 1 sensed.4: 1 sensed.5: 1 sensed.6: 1 sensed.7: 1 alarm: 0
Fhem:
address 29.98CF1A000000
alerting 1
bus bus.0
interfaces state
interval 60
getters:
PIO.0
PIO.1
PIO.2
PIO.3
PIO.4
PIO.5
PIO.6
PIO.7
PIO.ALL
PIO.BYTE
address
crc8
family
id
latch.0
latch.1
latch.2
latch.3
latch.4
latch.5
latch.6
latch.7
latch.ALL
latch.BYTE
locator
por
power
r_address
r_id
r_locator
sensed.0
sensed.1
sensed.2
sensed.3
sensed.4
sensed.5
sensed.6
sensed.7
sensed.ALL
set_alarm
strobe
type
polls:
sensed.0
sensed.1
sensed.2
sensed.3
sensed.4
sensed.5
sensed.6
sensed.7
setters:
LCD_H/clear
LCD_H/home
LCD_H/message
LCD_H/onoff
LCD_H/screen
LCD_H/screenyc
LCD_M/clear
LCD_M/home
LCD_M/message
LCD_M/onoff
LCD_M/screen
LCD_M/screenyc
PIO.0
PIO.1
PIO.2
PIO.3
PIO.4
PIO.5
PIO.6
PIO.7
PIO.ALL
PIO.BYTE
latch.0
latch.1
latch.2
latch.3
latch.4
latch.5
latch.6
latch.7
latch.ALL
latch.BYTE
por
set_alarm
strobe
state:
sensed.0
sensed.1
sensed.2
sensed.3
sensed.4
sensed.5
sensed.6
sensed.7
Attributes:
IODev ows
model DS2408
room OWDevice
O.k., Du kannst die Readings verwenden und mit readingsGroup die Anzeige formatieren.
readingsGroup: http://fhem.de/commandref.html#readingsGroup
Eine umfangreiche Anleitung: http://www.fhemwiki.de/wiki/ReadingsGroup
Etwa so:
define owsModulPool_rg owsModulPool:sensed.*
Zitat von: Ellert am 25 Juli 2016, 15:48:06
O.k., Du kannst die Readings verwenden und mit readingsGroup die Anzeige formatieren.
readingsGroup: http://fhem.de/commandref.html#readingsGroup
Eine umfangreiche Anleitung: http://www.fhemwiki.de/wiki/ReadingsGroup
Etwa so:
define owsModulPool_rg owsModulPool:sensed.*
Nun habe ich wieder mal etwas Zeit dafür.
Habe mal ganz einfach deinen code übernommen.
Das Ergebnis ist: Unknown module owsModulPool:sensed.*
Jetzt stellen sich für mich 2 Möglichkeiten:
1) ist die schreibweise falsch
2) muss ich zuvor etwas anderes definieren
Ja, ich habe vergessen das Modul anzugeben.
Wenn ich schreibe:define owsModulPool_rg readingsGroup owsModulPool:sensed.*
dann passt es
Danke mal dafür.
... und maci, biste weiter gekommen ?
Ich stehe vor dem gleichen Problem und sehe den Wald vor lauter Bäumen nicht ...