FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: maci am 23 Juli 2016, 11:11:26

Titel: Status von Eingängen darstellen
Beitrag von: maci am 23 Juli 2016, 11:11:26
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?

Titel: Antw:Status von Eingängen darstellen
Beitrag 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.
Titel: Antw:Status von Eingängen darstellen
Beitrag von: maci am 23 Juli 2016, 13:17:29
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.
Titel: Antw:Status von Eingängen darstellen
Beitrag von: Ellert am 23 Juli 2016, 13:28:55
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.
Titel: Antw:Status von Eingängen darstellen
Beitrag von: maci am 23 Juli 2016, 14:02:17
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.
Titel: Antw:Status von Eingängen darstellen
Beitrag von: Ellert am 23 Juli 2016, 16:04:24
ZitatMeine bisherigen Versuche sind alles gescheitert.
Was hast Du denn genau versucht?
Titel: Antw:Status von Eingängen darstellen
Beitrag von: maci am 24 Juli 2016, 09:07:36
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.
Titel: Antw:Status von Eingängen darstellen
Beitrag 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.
Titel: Antw:Status von Eingängen darstellen
Beitrag von: maci am 24 Juli 2016, 14:00:43
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.


Titel: Antw:Status von Eingängen darstellen
Beitrag von: Ellert am 24 Juli 2016, 17:53:56
Zu 1-wire kann ich leider nichts sagen, weil ich es nicht nutze.
Titel: Antw:Status von Eingängen darstellen
Beitrag von: maci am 25 Juli 2016, 13:45:56
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.
Titel: Antw:Status von Eingängen darstellen
Beitrag von: LuckyDay am 25 Juli 2016, 13:59:46
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
Titel: Antw:Status von Eingängen darstellen
Beitrag von: maci am 25 Juli 2016, 14:40:27
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.
Titel: Antw:Status von Eingängen darstellen
Beitrag von: LuckyDay am 25 Juli 2016, 14:54:15
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
Titel: Antw:Status von Eingängen darstellen
Beitrag 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
Titel: Antw:Status von Eingängen darstellen
Beitrag von: Ellert am 25 Juli 2016, 15:48:06
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.*
Titel: Antw:Status von Eingängen darstellen
Beitrag von: maci am 27 Juli 2016, 10:35:53
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

Titel: Antw:Status von Eingängen darstellen
Beitrag von: Ellert am 27 Juli 2016, 11:04:56
Ja, ich habe vergessen das Modul anzugeben.
Titel: Antw:Status von Eingängen darstellen
Beitrag von: maci am 27 Juli 2016, 12:43:31
Wenn ich schreibe:define owsModulPool_rg readingsGroup owsModulPool:sensed.*

dann passt es

Danke mal dafür.

Titel: Antw:Status von Eingängen darstellen
Beitrag von: ak323 am 02 April 2017, 08:16:45
... und maci, biste weiter gekommen ?
Ich stehe vor dem gleichen Problem und sehe den Wald vor lauter Bäumen nicht  ...