DOIF-Probleme? Sämtliche Readingversuche mit "?" gehen nicht

Begonnen von Fashionbye, 06 März 2015, 14:24:43

Vorheriges Thema - Nächstes Thema

Fashionbye

Hallo,
ich bevorzuge DOIF und IF und finde diese Module erheblich verständlicher und weniger Syntax-fehleranfällig.
Eine Sache bekomme ich aber nie hin.
Immer wenn ich Code in den eckigen Klammern verwende wie in der FHEM Referenz geschildert, erhalte ich Fehlermeldungen:

Der hier sollte oin einem DOIF auf alles reagieren, was ein "on" im Status (Auswertungsteil) beinhaltet:


Fehlermeldung: reading does not exist: [Flur_innen_BWM_BUERO:?on]

Internals:
   BTN        85
   CUL_0_MSGCNT 8
   CUL_0_RAWMSG 810b04xx0101a0010000850011
   CUL_0_RSSI -72
   CUL_0_TIME 2015-03-05 20:04:02
   DEF        0000 85
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     8
   NAME       Flur_innen_BWM_BUERO
   NR         689
   STATE      on
   TYPE       FS20
   XMIT       0000
   Code:
     1          0000 85
   Readings:
     2015-03-06 13:57:48   state           on
Attributes:
   IODev      CUL_0
   room       Flur innen


P.S. Flur_innen_BWM_BUERO existiert, s.o..

Für dämmerungsabhängige Dimmerschaltung nutze ich Twilight. Habe "LichtWetter" als Twilight definiert.
Internals:
   CHANGED
   CONDITION  33
   CONDITION_TXT Fair
   DEF        47.803149 9.434819 5 22528015
   INDOOR_HORIZON 5
   LATITUDE   47.803149
   LONGITUDE  9.434819
   NAME       LichtWetter
   NR         697
   STATE      6
   SUNPOS_OFFSET 300
   TEMPERATUR -4
   TYPE       Twilight
   WEATHER    22528015
   WEATHER_CORRECTION 0
   WEATHER_HORIZON 5

Abruf in einem DOIF mit vorangestellten ? (Änderung des Abfragewertes führt nicht zur Triggerung)
Hier die Fehler im Protokoll:
and ([?Flur_innen_Licht] eq "off"): Search pattern not terminated or ternary operator parsed as search pattern at (eval 838) line 1.
Error: ?LichtWetter has no TYPE
Type Twilight s.o.
Flur_innen_BWM_BUERO_DI: reading does not exist: [?LichtWetter:light]
test_doif4: reading does not exist: [LichtWetter:?light]
test_doif3: reading does not exist: [?LichtWetter:light]
test_doif2: internal does not exist: [LichtWetter?light:STATE]
eventTypes: DOIF test_doif1 error: reading does not exist: [?LichtWetter:light]
Das sind ja - soweit ich es verstehe - alles dokumentierte Funktionalitäten, irgend etwas muss ich grundsätzlich falsch machen?
Alle anderern von mir verwendeten Funktionen funktionieren wunderbar und die IF und DOIF finde ich eine tolle Sache!
FHEM 5.6 auf Raspberry Pi 2 Model B (2015), davor FritzBox 7390 (2012-2014), dann Beaglebone Black (Anf. 2015). CUL mit 2 GP-Ant.. Einige Dutzend FS20 Geräte, Bel. 100% LED 1-10V Dim., Multiroom Audio. 3 PV-Anlagen. Nächste Projekte: Zählerdatenerfassung, Heizungstemp./Solar, Jal.-St.

Fashionbye

Was ich noch anfügen möchte: alle obigen DOIFs funktionieren, wenn ich die Fragezeichen weglasse. Aber kein einziges funktioniert mit "?".
FHEM 5.6 auf Raspberry Pi 2 Model B (2015), davor FritzBox 7390 (2012-2014), dann Beaglebone Black (Anf. 2015). CUL mit 2 GP-Ant.. Einige Dutzend FS20 Geräte, Bel. 100% LED 1-10V Dim., Multiroom Audio. 3 PV-Anlagen. Nächste Projekte: Zählerdatenerfassung, Heizungstemp./Solar, Jal.-St.

Damian

Zitat von: Fashionbye am 06 März 2015, 14:26:29
Was ich noch anfügen möchte: alle obigen DOIFs funktionieren, wenn ich die Fragezeichen weglasse. Aber kein einziges funktioniert mit "?".

Dann solltest du dein System mal updaten - du hast eine alte Version von DOIF ;)

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Fashionbye

OK, beim Befehl update restart sagt mir fhem: nothing to do.
Installation etwa eine Woche alt FHEM-5.6.deb. Und nun?
Muss man da was manuell installieren?
FHEM 5.6 auf Raspberry Pi 2 Model B (2015), davor FritzBox 7390 (2012-2014), dann Beaglebone Black (Anf. 2015). CUL mit 2 GP-Ant.. Einige Dutzend FS20 Geräte, Bel. 100% LED 1-10V Dim., Multiroom Audio. 3 PV-Anlagen. Nächste Projekte: Zählerdatenerfassung, Heizungstemp./Solar, Jal.-St.

Damian

Zitat von: Fashionbye am 06 März 2015, 20:11:23
OK, beim Befehl update restart sagt mir fhem: nothing to do.
Installation etwa eine Woche alt FHEM-5.6.deb. Und nun?
Muss man da was manuell installieren?

Mit version kannst du dir die Versionsnummern der einzelnen Module anschauen.

Das aktuell eingecheckte DOIF-Modul hat die Version:

#     $Id: 98_DOIF.pm 8031 2015-02-18 17:49:10Z damian-s $

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

maxritti

Wie kommt es eigentlich, dass sich das DOIF bei version nicht meldet?
Das ist mir schon ein paar mal aufgefallen, dass DOIF dort nicht auftaucht.

Gerade habe ich im Test mal ein "update force" gemacht. Dann ein restart.
Sicherheitshalber danach mal ein Test DOIF angelegt und nach einem version taucht dies nicht auf.

Es steht aber mit einer $Id in der Datei auf dem Server bereit.


Puschel74

#6
Hallo,

Zitat von: Fashionbye am 06 März 2015, 20:11:23
Installation etwa eine Woche alt FHEM-5.6.deb. Und nun?
Muss man da was manuell installieren?

So wie überall beschrieben:
FHEM-5.6 war aktuell als das Release veröffentlicht wurde.
Da FHEM aber lebt gibt es beinahe täglich Änderungen die sich nur und ausschliesslich per update über die FHEM-Befehlszeile einspielen lassen.
Achtung! Zu update bitte sämtliche Beiträge heraussuchen die sich auf einen Fehler in der Isntallation nach! einem update beziehen und gut durchlesen.
Auf einem Produktivsystem kann ein Update durchaus auch mal kontraproduktiv sein weil sich durchaus auch mal Fehler einschleichen können.

Grüße

Edith: Und man sollte sich auch mal die Zeit nehmen und das Forum durchschauen - es gibt durchaus Bereiche in denen einige Fragen besser aufgehoben wären.
DOIF = Automatisierung auch wenn man meint das es eine Anfängerfrage ist - wobei, die Suche nach dem Update ist durchaus eine Anfängerfrage die sich aber mit ein bischen lesen klären hätte lassen - siehe angepinnter Beitrag im Anfängerbereich:http://forum.fhem.de/index.php/topic,16311.0.html
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Fashionbye

version am Beaglebone mit FHEM 5.6 gibt bei mir aus:
# $Id: fhem.pl 6913 2014-11-08 10:32:44Z rudolfkoenig $
# $Id: 00_CUL.pm 6755 2014-10-12 13:12:10Z rudolfkoenig $
# $Id: 09_CUL_FHTTK.pm 6605 2014-09-23 19:49:18Z matscher $
# $Id: 14_CUL_WS.pm 5379 2014-03-30 16:34:01Z rudolfkoenig $
# $Id: 01_FHEMWEB.pm 6884 2014-11-04 22:03:52Z rudolfkoenig $
# $Id: 11_FHT.pm 5070 2014-02-28 07:48:55Z rudolfkoenig $
# $Id: 10_FS20.pm 5326 2014-03-26 07:15:25Z rudolfkoenig $
# $Id: 92_FileLog.pm 6769 2014-10-15 17:03:30Z rudolfkoenig $
# $Id: 12_HMS.pm 5097 2014-03-02 15:25:08Z rudolfkoenig $
# $Id: 99_SUNRISE_EL.pm 6765 2014-10-14 18:24:29Z rudolfkoenig $
# $Id: 98_SVG.pm 6756 2014-10-12 13:13:26Z rudolfkoenig $
# $Id: 59_Twilight.pm 6905 2014-11-06 20:35:21Z dietmar63 $
# $Id: 99_Utils.pm 6660 2014-10-03 06:35:43Z rudolfkoenig $
# $Id: 59_Weather.pm 6705 2014-10-07 17:41:42Z borisneubert $
# $Id: 90_at.pm 6797 2014-10-21 12:32:19Z rudolfkoenig $
# $Id: 98_autocreate.pm 6505 2014-09-06 12:24:48Z rudolfkoenig $
# $Id: 98_dummy.pm 4934 2014-02-15 08:23:12Z rudolfkoenig $
# $Id: 91_eventTypes.pm 6792 2014-10-19 16:03:13Z rudolfkoenig $
# $Id: 91_notify.pm 6371 2014-08-07 05:33:37Z rudolfkoenig $
# $Id: 98_telnet.pm 6611 2014-09-24 07:48:32Z rudolfkoenig $
# $Id: 98_weblink.pm 5608 2014-04-23 10:57:16Z rudolfkoenig $


Da ist gar kein DOIF drin und alles was ich per Suchfunktion im Forum & per Google gefunden habe besagt, dass das Modul DOIF per Update mit eingespielt wird. Was mache ich falsch? Ich bin kurz vor dem Hinschmeissen!
Ich habe beim Umstieg von der FB7390 vor 2 Wochen die fhem.cgf der Fritzbox in den Beaglebone am Webfrontend kopiert.
War das falsch? Auf der Fritzbox läuft:
# $Id: fhem.pl 8030 2015-02-18 17:32:56Z rudolfkoenig $
# $Id: 00_CUL.pm 7770 2015-01-30 07:04:52Z rudolfkoenig $
# $Id: 09_CUL_FHTTK.pm 7529 2015-01-11 18:52:43Z matscher $
# $Id: 14_CUL_WS.pm 5379 2014-03-30 16:34:01Z rudolfkoenig $
# $Id: 01_FHEMWEB.pm 8038 2015-02-19 06:13:22Z rudolfkoenig $
# $Id: 11_FHT.pm 5070 2014-02-28 07:48:55Z rudolfkoenig $
# $Id: 10_FS20.pm 7070 2014-11-27 12:45:34Z rudolfkoenig $
# $Id: 92_FileLog.pm 7854 2015-02-03 19:23:22Z rudolfkoenig $
# $Id: 12_HMS.pm 5097 2014-03-02 15:25:08Z rudolfkoenig $
# $Id: 99_SUNRISE_EL.pm 6765 2014-10-14 18:24:29Z rudolfkoenig $
# $Id: 98_SVG.pm 7981 2015-02-14 17:29:46Z rudolfkoenig $
# $Id: 59_Twilight.pm 7462 2015-01-06 17:13:36Z dietmar63 $
# $Id: 99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig $
# $Id: 59_Weather.pm 6705 2014-10-07 17:41:42Z borisneubert $
# $Id: 90_at.pm 7563 2015-01-14 07:53:50Z rudolfkoenig $
# $Id: 98_autocreate.pm 6505 2014-09-06 12:24:48Z rudolfkoenig $
# $Id: 98_dummy.pm 4934 2014-02-15 08:23:12Z rudolfkoenig $
# $Id: 91_eventTypes.pm 7221 2014-12-15 10:02:49Z rudolfkoenig $
# $Id: 91_notify.pm 7854 2015-02-03 19:23:22Z rudolfkoenig $
# $Id: 98_telnet.pm 8017 2015-02-17 11:10:16Z rudolfkoenig $
# $Id: 98_weblink.pm 5608 2014-04-23 10:57:16Z rudolfkoenig $


@maxritti:
eben, das Problem habe ich auch!

Nächstes Problem: an meinem Beaglebone funktioniert der CUL urplötzlich nicht mehr.
Jetzt läuft FHEM seit einer Stunde auf einer älteren Version auf der FB7390.

Ich hab' hier noch eine Ezcontrol ungetestet rumliegen. Wenn mir fhem zu schwierig ist, sollte ich vielleicht umsteigen... .
FHEM 5.6 auf Raspberry Pi 2 Model B (2015), davor FritzBox 7390 (2012-2014), dann Beaglebone Black (Anf. 2015). CUL mit 2 GP-Ant.. Einige Dutzend FS20 Geräte, Bel. 100% LED 1-10V Dim., Multiroom Audio. 3 PV-Anlagen. Nächste Projekte: Zählerdatenerfassung, Heizungstemp./Solar, Jal.-St.

Fashionbye

@Puschel74:
sorry, wenn das die falsche Rubrik war.
Update hatte ich natürlich gemacht, trotzdem s.o. erscheint das Modul DOIF nicht unter "version".
Die Anfängerdoku habe ich gelesen, deshalb auch Update gemacht. Aber wenn es nicht hilft.
Kann man bei FHEM eigentlich nur alles falsch machen?
Ich sitze seit 2 Wochen da, lese Dokus, Beiträge, Manuals, Refs - meine Familie sieht mich seit Wochen nur noch beim Essen, aber bin kaum weiter wie am Anfang... .
FHEM 5.6 auf Raspberry Pi 2 Model B (2015), davor FritzBox 7390 (2012-2014), dann Beaglebone Black (Anf. 2015). CUL mit 2 GP-Ant.. Einige Dutzend FS20 Geräte, Bel. 100% LED 1-10V Dim., Multiroom Audio. 3 PV-Anlagen. Nächste Projekte: Zählerdatenerfassung, Heizungstemp./Solar, Jal.-St.

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

maxritti

update force und ein restart hat bei mir zumindest bzgl version nichts geändert.
Nach wie vor kein DOIF in der Liste.

Wenn Du meintest, dass könne bei dem Versionsproblem helfen  ;)

frank

das soll fashionbye helfen seine alten dateien auf dem beaglebone zu erneuern.
die versions "problematik" ist eventuell ein feature.   ;)  keine ahnung.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

marvin78

Es kann nur in der Liste erscheinen, wenn man auch ein DOIF definiert hat.

maxritti

#13
Bei global verbose = 5 sagt er dies:

2015.03.07 11:36:28 4: Looking for SVN Id in module DOIF

Dann habe ich habe mal den Anfang vom 98_DOIF.pm mit dem 90_at.pm verglichen.
Da steht in der $Id Zeile nur ein Leerzeichen vor dem $Id im gegensatz zum DOIF.
Das habe ich mal im DOIF manuell geändert auf das hier:

##############################################
# $Id: 98_DOIF.pm 8031 2015-02-18 17:49:10Z damian-s $
#
#     This file is part of fhem.
#
...


Fhem restart und siehe da.
Auf einmal listet version auch DOIF auf.

Bug oder Feature Damian?

@marvin:

Ich habe mehrere DOIFs definiert, aber auch sicherheitshalber mal eins neu definiert.
Aber oben scheint die Lösung zumindest für mich gefunden zu sein.

/EDIT:

Wobei. Das wird dann wohl eher an einer anderen datei (fhem.pl?) liegen.

Damian

Zitat von: maxritti am 07 März 2015, 11:40:54
Bei global verbose = 5 sagt er dies:

2015.03.07 11:36:28 4: Looking for SVN Id in module DOIF

Dann habe ich habe mal den Anfang vom 98_DOIF.pm mit dem 90_at.pm verglichen.
Da steht in der $Id Zeile nur ein Leerzeichen vor dem $Id im gegensatz zum DOIF.
Das habe ich mal im DOIF manuell geändert auf das hier:

##############################################
# $Id: 98_DOIF.pm 8031 2015-02-18 17:49:10Z damian-s $
#
#     This file is part of fhem.
#
...


Fhem restart und siehe da.
Auf einmal listet version auch DOIF auf.

Bug oder Feature Damian?

@marvin:

Ich habe mehrere DOIFs definiert, aber auch sicherheitshalber mal eins neu definiert.
Aber oben scheint die Lösung zumindest für mich gefunden zu sein.

/EDIT:

Wobei. Das wird dann wohl eher an einer anderen datei (fhem.pl?) liegen.

Ich habe es jetzt im DOIF-Modul auf ein Leerzeichen vor dem Id-String geändert. Kommt ins nächste Update.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF