syntax error at ./FHEM/99_myUtils.pm line 21, near "19:" im Muellkalender

Begonnen von Wasser84, 21 Februar 2018, 20:12:50

Vorheriges Thema - Nächstes Thema

Wasser84

Hallo zusammen,

ich bin kurz vor dem Verzweifeln..

Teste mich an meinem ersten Projekt, dem Muelltonnenkalender wie er im Tutorial beschrieben ist.
Nun, fast am Ende muss in den myUtils folgender Baustein eingegeben werden:

define doif_Abfallmorgen DOIF ([19:30] and [Muelltonnen:next_days] == 1) (set <pushbullet_name> message Morgen wird [Muelltonnen:next_text] abgeholt)
attr doif_Abfallmorgen do always
attr doif_Abfallmorgen checkReadingEvent 1

define doif_Abfallheute DOIF ([07:00] and [Muelltonnen:now_text] ne "") (set <pushbullet_name> message Heute wird [Muelltonnen:now_text] abgeholt)
attr doif_Abfallheute do always
attr doif_Abfallheute checkReadingEvent 1

oder auch

define doif_Abfall DOIF ([19:30] and [Muelltonnen:next_days] == 1)\
    (set WEB_Pushover msg 'Müll' 'Morgen wird [Muelltonnen:next_text] abgeholt')\
DOELSEIF ([07:00] and [Muelltonnen:now_text] ne "")\
    (set WEB_Pushover msg 'Müll' 'Heute wird [Muelltonnen:now_text] abgeholt')
attr doif_Abfall do always
attr doif_Abfall checkReadingEvent 1

Egal was ich probiere, es kommt immer die Fehlermeldung:

syntax error at ./FHEM/99_myUtils.pm line 21, near "19:"

Lasst mir bitte keine gruane Haare wachsen, was mache ich falsch??

Viele Grüße!

Phill

Das ist alles nichts was in myUtils kommen kann, da es sich nicht um Perl Code handelt.
Das sind DOIF Definitionen mit Attributen, das hat nichts in myUtils zu suchen sondern muss in FHEM eingegeben werden.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Wasser84

Oh Mann  ::)
und ich versuche es dort immer wieder..

Wo genau muss ich diesen Baustein denn eingeben bzw. was muss ich dafür anlegen?

mumpitzstuff

Du gibst einfach den ersten Teil in FHEM als Kommando ein und setzt dann manuell die Attribute.

define doif_Abfallmorgen DOIF ([19:30] and [Muelltonnen:next_days] == 1) (set <pushbullet_name> message Morgen wird [Muelltonnen:next_text] abgeholt)

oder

define doif_Abfall DOIF ([19:30] and [Muelltonnen:next_days] == 1)\
    (set WEB_Pushover msg 'Müll' 'Morgen wird [Muelltonnen:next_text] abgeholt')\
DOELSEIF ([07:00] and [Muelltonnen:now_text] ne "")\
    (set WEB_Pushover msg 'Müll' 'Heute wird [Muelltonnen:now_text] abgeholt')

Wasser84

Super, vielen Dank Euch!

Ich habe jetzt in meinem entsprechenden Raum "Draußen" beide

DOIF
dAbfallheute
   und
dAbfallmorgen

drin.

Jetzt habe ich Pushover so mit meinen Nutzerdaten eingerichtet, dass auch dafür:

Pushover pushmsg connected

steht.

Problem nun noch, ich bekomme keine Benachrichtigung dass die Mülltonne morgendran ist. (Uhrzeit im "dAbfallmorgen" habe ich mehrfach unter DEF zu Übungszweckengeändert.

Wenn ich unter pushmsg im FHEM auf:
set pushmsg msg anwähle, kann ich mir z.b. TEST auf das Handy schicken.

Hänge mal denScreenshot dran, muss ich in derpushmsg noch etwas umstelllen??


Wasser84

Oder liegt der Fehler in meiner DEF aus dAbfallmorgen:

([17:03] and [Muelltonnen:next_tage] == 1) ( set WEB_Pushover msg Morgen wird [Muelltonnen:next_text] abgeholt)

mumpitzstuff

Du schreibst, dass du mit set pushmsg msg Test eine Nachricht verschicken kannst. Warum steht das dann nicht auch in deinem DOIF drin? Da steht set WEB_Pushover msg xyz.

Wasser84

Sorry, ich glaube ich habe mich da unklar ausgedrückt.

Unter der Maske pushmsg (welche ich im letzen Beitrag als Screenshot gepostet habe) kann ich ganz oben folgendes machen (ich denke zu Übungszwecken)

set pushmsg (Pulldownfeld: glance / msg) und dahinter einen beliebigen Text eingeben. Bestätige ich mit ENTER nachdem ich im Pulldown "msg" ausgewählt habe, schickt er mir die message wie zuvor eingegeben auf das Handy.

Habe jetzt in der DEF ([17:03] and [Muelltonnen:next_tage] == 1) ( set pushmsg msg Morgen wird [Muelltonnen:next_text] abgeholt) stehen.

Die Zeit habe ich gestern etliche Male zum testen geändert, es kommt aber keine Benachrichtigung am Handy an.

In der Abfall-Maske die Muelltonnen heisst, stand gestern die entsprechende Tonne "in 1 Tag"..

Irgendwo ist der Wurm drin, hänge da nun schon so viele Tage drüber, das macht mich fertig  ;D

Phill

Du kannst ja über
set doif_Abfallmorgen cmd_1
das Kommando manuell anregen. Geht das? Ansonsten ist das Attribut do mit dem Wert always gesetzt?
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Wasser84

Ich kann mich nur entschuldigen, bin totaler Anfänger und kam bis dato nur durch die Tutorials von Matthias_Kleine so weit mit der Einrichtung. So einiges habe ich besreits verinnerlicht, ganz ganz viel scheint mir aber noch unklar zu sein..

set doif_Abfallmorgen cmd_1
-wo genau muss ich das einfügen?

In meiner Kommandozeile im FHEM? (Dadurch würde ich ja ein neues Device erstellen)?
In meiner DeviceOverview von dAbfallmorgen im DEF? Aber wenn, wo dort?

Das Attribut ist auf do always gesetzt!

Im DeviceOverview von dAbfallmorgen steht unter Readings in der Zeile error folgende Meldung:

condition c01: Can't modify non-Ivalue subroutine call of &main::ReadingValDolf in scalar assignment, line 1. at EOF
Was hat das zu bedeuten? -Hab ich mal gegoogelt, komme damit aber auch nicht weiter..

nils_

Zitat von: Wasser84 am 23 Februar 2018, 09:51:54
-wo genau muss ich das einfügen?

In meiner Kommandozeile im FHEM? (Dadurch würde ich ja ein neues Device erstellen)?
ja dort eingeben. und nein du erstellst kein neues device (das würde mit define/defmod <device> passieren)
viele Wege in FHEM es gibt!

Phill

In deiner "condition" (Bedingung) ist etwas falsch.
Vielleicht DEF:
([17:03] and [Muelltonnen:next_tage] eq "1")
Für ein gutes Verständnis der Probleme und daraus einer schnellen Hilfe ist es meistens notwendig die Devices im ganzen zu sehen.

mit list DEVICENAME bekommst du einen Ausdruck des devices. Schicke mal bitte ein list von dem DOIF und Muelltonnen
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Wasser84

Habe es mit dem ([17:03] and [Muelltonnen:next_tage] eq "1") probiert, ändert leider auch nichts.

Anbei die beiden devices als Ausdruck:

dAbfallmorgen
Internals:
DEF ([19:00] and
[Mueltonnen:next_days] == 1) (set pushmsg
wird [Mueltonnen:next_text] abgeholt)
NAME dAbfallmorgen
NR 26
NTFY_ORDER 50-dAbfallmorgen
STATE initialized
TYPE DOIF
READINGS:
2018-02-23 10:17:54 cmd 0
2018-02-23 10:17:54 mode
enabled
2018-02-23 10:17:54 state
initialized
2018-02-23 10:17:54 timer_01_c01
23.02.2018 19:00:00
Regex:
condition:
0 DOIF_time_once($hash,0,$wday)
and
ReadingValDoIf($hash,'Mueltonnen','next_days')
== 1
days:
devices:
0 Mueltonnen
all Mueltonnen
do:
0:
0 set pushmsg wird
[Mueltonnen:next_text] abgeholt
1:
helper:
DOIF_Readings_events
DOIF_eventas
globalinit 1
last_timer 1
sleeptimer -1
itimer:
localtime:
0 1519408800
readings:
0 Mueltonnen:next_days
all Mueltonnen:next_days
realtime:
0 19:00:00
time:
0 19:00:00
timeCond:
0 0
timer:
0 0
timers:
0 0
triggertime:
1519408800:
localtime 1519408800
hash:
uiState:
uiTable:
Attributes:
checkReadingEvent 1
do always
room Draussen




Mueltonnen:

Internals:
DEF Mueltonnenkalendar 3600
KALENDER Mueltonnenkalendar
NAME Mueltonnen
NOTIFYDEV Mueltonnenkalendar
NR 25
NTFY_ORDER 50-Mueltonnen
STATE Altpapiertonne und Biotonne und
Gelber Sack in 7 Tag(en)
TYPE ABFALL
READINGS:
2018-02-23 09:33:28
Altpapiertonne_date 02.03.2018
2018-02-23 09:33:28
Altpapiertonne_days 7
2018-02-23 09:33:28
Altpapiertonne_description Altpapiertonne
muss bereitgestellt werden.
2018-02-23 09:33:28
Altpapiertonne_location Ilsede (PLZ 31241) a
2018-02-23 09:33:28
Altpapiertonne_text Altpapiertonne
2018-02-23 09:33:28 Altpapiertonne_uid
3d3904090b6a432a8d70182521d60de2
2018-02-23 09:33:28
Altpapiertonne_weekday Freitag
2018-02-23 09:33:28 Biotonne_date
02.03.2018
2018-02-23 09:33:28 Biotonne_days 7
2018-02-23 09:33:28
Biotonne_description Biotonne muss
bereitgestellt werden.
2018-02-23 09:33:28 Biotonne_location
Ilsede (PLZ 31241) a
2018-02-23 09:33:28 Biotonne_text
Biotonne
2018-02-23 09:33:28 Biotonne_uid
b2d8ee5e47e3ddd438e8c951f7a55b0c
2018-02-23 09:33:28 Biotonne_weekday
Freitag
2018-02-23 09:33:28 GelberSack_date
02.03.2018
2018-02-23 09:33:28 GelberSack_days 7
2018-02-23 09:33:28
GelberSack_description Gelber Sack muss
bereitgestellt werden.
2018-02-23 09:33:28
GelberSack_location Ilsede (PLZ 31241) a
2018-02-23 09:33:28 GelberSack_text
Gelber Sack
2018-02-23 09:33:28 GelberSack_uid
98d0fb9b3b70a31415b964e5dc9773ce
2018-02-23 09:33:28 GelberSack_weekday
Freitag
2018-02-23 09:33:28
Restmuelltonne_date 09.03.2018
2018-02-23 09:33:28
Restmuelltonne_days 14
2018-02-23 09:33:28
Restmuelltonne_description Restmülltonne muss
bereitgestellt werden.
2018-02-23 09:33:28
Restmuelltonne_location Ilsede (PLZ 31241) a
2018-02-23 09:33:28
Restmuelltonne_text Restmülltonne
2018-02-23 09:33:28 Restmuelltonne_uid
ec97e6743fca2960971fd7f6a701004d
2018-02-23 09:33:28
Restmuelltonne_weekday Freitag
2018-02-23 09:33:28 next
Altpapiertonne|Biotonne|GelberSack_7
2018-02-23 09:33:28 next_date
02.03.2018
2018-02-23 09:33:28 next_days 7
2018-02-23 09:33:28 next_description
Altpapiertonne muss bereitgestellt werden.
und Biotonne muss bereitgestellt werden. und
Gelber Sack muss bereitgestellt werden.
2018-02-23 09:33:28 next_location
Ilsede (PLZ 31241) a und Ilsede (PLZ 31241) a
und Ilsede (PLZ 31241) a
2018-02-23 09:33:28 next_text
Altpapiertonne und Biotonne und Gelber Sack
2018-02-23 09:33:28 next_weekday
Freitag
2018-02-23 09:33:28 state 7
Attributes:
calendarname_praefix 0
date_style date
delimiter_reading |
delimiter_text_reading und
event-on-change-reading .*
room Draussen
stateFormat next_text in next_days Tag(en)
weekday_mapping Sonntag Montag Dienstag
Mittwoch Donnerstag Freitag Samstag


Puuh, viel Text, hilft das weiter um den Fehler zu finden?

nils_

Zitat von: Wasser84 am 23 Februar 2018, 10:55:43
Puuh, viel Text, hilft weiter um den Fehler zu finden..
vielleicht.... lesbarer wäre es in code-tags (über dem  :-X smiley !)

ohne genau nachgesehen zu haben:
im code steht Muelltonnen und dein device heißt Mueltonnen...

das muss natürlich (ungeachtet dem schreibfehler) zusammenpassen!
viele Wege in FHEM es gibt!

Wasser84

Sorry, mache ich beim nächsten Mal!

Oh danke, wie blind von mir...
Wenn man den Wald vor lauter Bäumen nicht sieht :(

Wie kann ich denn das nachträglich ändern, oder muss das jetzt gelöscht und komplett neu angelegt werden?